การใช้คิวรี SQL เพื่อกรองข้อมูลในตาราง
ในแบบฝึกหัดก่อนหน้า คุณได้รันคิวรี SQL อย่างง่ายบน DataFrame แล้ว ยังมีคิวรีที่ซับซ้อนกว่านั้นที่สามารถสร้างขึ้นเพื่อให้ได้ผลลัพธ์ที่ต้องการ และนำไปใช้ในการวิเคราะห์ขั้นต่อไป เช่น การแสดงผลข้อมูลและ Machine Learning ในแบบฝึกหัดนี้ จะใช้ตารางชั่วคราว people ที่สร้างไว้ก่อนหน้า เพื่อกรองแถวตามค่า "sex" ว่าเป็น male หรือ female แล้วสร้าง DataFrame สองชุด
โปรดทราบว่า "solution" คำนึงถึงตัวพิมพ์ใหญ่-เล็กสำหรับคำสั่ง SQL (ตัวอย่างเช่น ระบบรับเฉพาะ FROM เท่านั้น ไม่ใช่ from) และรับเฉพาะ "==" เท่านั้น ไม่ใช่ "="
จำไว้ว่ามี SparkSession spark และตารางชั่วคราว people พร้อมใช้งานใน workspace ของคุณแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Big Data Fundamentals with PySpark
คำแนะนำการฝึกหัด
- กรองตาราง
peopleเพื่อเลือกแถวทั้งหมดที่ sex เป็น female แล้วเก็บไว้ใน DataFramepeople_female_df - กรองตาราง
peopleเพื่อเลือกแถวทั้งหมดที่ sex เป็น male แล้วเก็บไว้ใน DataFramepeople_male_df - นับจำนวนแถวใน DataFrame
people_femaleและpeople_maleทั้งสองชุด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Filter the people table to select female sex
people_female_df = spark.____('SELECT * FROM ____ WHERE sex=="____"')
# Filter the people table DataFrame to select male sex
people_male_df = spark.____('SELECT * ____ people ____ ____=="____"')
# Count the number of rows in both people_df_female and people_male_df DataFrames
print("There are {} rows in the people_female_df and {} rows in the people_male_df DataFrames".format(people_female_df.____(), people_male_df.____()))