เทคนิค ID เพิ่มเติม
เมื่อกำหนดกระบวนการ Spark แล้ว มักจะต้องนำมาใช้ซ้ำหลายครั้ง ขึ้นอยู่กับความต้องการ อาจต้องกำหนดให้ ID เริ่มต้นที่ค่าหนึ่งเพื่อไม่ให้ซ้ำกับการรัน Spark task ในครั้งก่อน ลักษณะนี้คล้ายกับการทำงานของ ID ใน relational database คุณได้รับมอบหมายให้ตรวจสอบว่า ID ที่ได้จาก Spark task รายเดือนจะเริ่มต้นที่ค่าสูงสุดจากเดือนก่อนหน้า
มี session spark และ DataFrame สองตัวคือ voter_df_march และ voter_df_april พร้อมใช้งานในเวิร์กสเปซ ไลบรารี pyspark.sql.functions ถูก import ไว้ภายใต้ชื่อย่อ F
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลด้วย PySpark
คำแนะนำการฝึกหัด
- หาค่าสูงสุดของ
ROW_IDในvoter_df_marchแล้วเก็บไว้ในตัวแปรprevious_max_IDโดยใช้.rdd.max()[0]เพื่อดึงค่า ID สูงสุด - เพิ่มคอลัมน์
ROW_IDให้กับvoter_df_aprilโดยเริ่มต้นที่ค่าprevious_max_ID+ 1 - แสดง
ROW_IDจาก DataFrame ทั้งสองและเปรียบเทียบผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Determine the highest ROW_ID and save it in previous_max_ID
____ = ____.select('ROW_ID').rdd.max()[0] + 1
# Add a ROW_ID column to voter_df_april starting at the desired value
voter_df_april = ____.withColumn('ROW_ID', ____ + ____)
# Show the ROW_ID from both DataFrames and compare
____.select('ROW_ID').show()
____