เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ตรวจสอบแถวที่ไม่ถูกต้อง

คุณกรองแถวออกด้วย join ได้สำเร็จแล้ว แต่บางครั้งก็อยากตรวจสอบข้อมูลที่ไม่ถูกต้องเหล่านั้นด้วย ข้อมูลนี้สามารถจัดเก็บไว้สำหรับการประมวลผลในภายหลัง หรือใช้แก้ไขปัญหาแหล่งข้อมูลได้

โจทย์ในแบบฝึกหัดนี้คือการหาความแตกต่างระหว่าง DataFrame สองชุด และจัดเก็บแถวที่ไม่ถูกต้องไว้

ออบเจกต์ spark ถูกกำหนดไว้แล้ว และนำเข้า pyspark.sql.functions ในชื่อ F DataFrame ต้นฉบับ split_df และ DataFrame ที่ผ่านการ join แล้ว joined_df พร้อมใช้งานในสถานะเดิมจากขั้นตอนก่อนหน้า

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทำความสะอาดข้อมูลด้วย PySpark

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นับจำนวนแถวของแต่ละ DataFrame
  • สร้าง DataFrame ที่มีเฉพาะแถวที่ไม่ถูกต้อง
  • ตรวจสอบว่าจำนวนแถวใน DataFrame ใหม่ตรงตามที่คาดไว้
  • หาจำนวน folder row ที่ไม่ซ้ำกันที่ถูกนำออกไป

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Determine the row counts for each DataFrame
split_count = ____
joined_count = ____

# Create a DataFrame containing the invalid rows
invalid_df = split_df.____(____(joined_df), '____', '____')

# Validate the count of the new DataFrame is as expected
invalid_count = ____
print(" split_df:\t%d\n joined_df:\t%d\n invalid_df: \t%d" % (split_count, joined_count, invalid_count))

# Determine the number of distinct folder rows removed
invalid_folder_count = invalid_df.____('____').____.____
print("%d distinct invalid folders found" % invalid_folder_count)
แก้ไขและรันโค้ด