ตรวจสอบแถวด้วยการ join
อีกวิธีในการกรองข้อมูลคือการใช้ join เพื่อลบข้อมูลที่ไม่ถูกต้องออก โดยต้องตรวจสอบว่าชื่อโฟลเดอร์ตรงกับที่คาดไว้จาก DataFrame ชื่อ valid_folders_df ส่วน DataFrame split_df ยังคงสถานะเดิมจากขั้นตอนก่อนหน้า ซึ่งมีคอลัมน์ที่แยกออกมาแล้ว
อ็อบเจกต์ spark พร้อมใช้งาน และได้ import pyspark.sql.functions ในชื่อ F แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลด้วย PySpark
คำแนะนำการฝึกหัด
- เปลี่ยนชื่อคอลัมน์
_c0เป็นfolderใน DataFramevalid_folders_df - นับจำนวนแถวใน
split_df - Join DataFrame ทั้งสองโดยใช้ชื่อโฟลเดอร์ แล้วตั้งชื่อ DataFrame ที่ได้ว่า
joined_dfและอย่าลืม broadcast DataFrame ที่มีขนาดเล็กกว่า - ตรวจสอบจำนวนแถวที่เหลืออยู่ใน DataFrame และเปรียบเทียบผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Rename the column in valid_folders_df
valid_folders_df = ____
# Count the number of rows in split_df
split_count = ____
# Join the DataFrames
joined_df = split_df.____(____(valid_folders_df), "folder")
# Compare the number of rows remaining
joined_count = ____
print("Before: %d\nAfter: %d" % (split_count, joined_count))