การใช้ groupby ใน PySpark
ได้เห็นวิธีใช้ framework dask และ DataFrame abstraction ของมันเพื่อทำการคำนวณไปแล้ว อย่างไรก็ตาม อย่างที่เห็นในวิดีโอ ในโลกของ big data นั้น Spark มักเป็นตัวเลือกยอดนิยมสำหรับการประมวลผลข้อมูล
ในแบบฝึกหัดนี้ จะใช้ package PySpark เพื่อจัดการ Spark DataFrame โดยใช้ข้อมูลชุดเดิมกับแบบฝึกหัดก่อนหน้า ซึ่งเป็นข้อมูลผู้เข้าร่วมการแข่งขันกีฬาโอลิมปิกระหว่างปี 1896 ถึง 2016
Spark DataFrame ชื่อ athlete_events_spark พร้อมใช้งานใน workspace แล้ว
method ที่จะใช้ในแบบฝึกหัดนี้ได้แก่:
.printSchema(): แสดง schema ของ Spark DataFrame.groupBy(): กำหนดการจัดกลุ่มสำหรับการรวมข้อมูล.mean(): คำนวณค่าเฉลี่ยของแต่ละกลุ่ม.show(): แสดงผลลัพธ์
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Data Engineering เบื้องต้น
คำแนะนำการฝึกหัด
- ตรวจสอบประเภทของ
athlete_events_spark - ตรวจสอบ schema ของ
athlete_events_spark - แสดงค่าเฉลี่ยอายุของนักกีฬาโอลิมปิก โดยจัดกลุ่มตามปี สังเกตว่า Spark ยังไม่ได้คำนวณจริงในขั้นตอนนี้ ซึ่งเรียกพฤติกรรมนี้ว่า lazy evaluation
- นำผลลัพธ์จากขั้นตอนก่อนหน้า แล้วเรียก
.show()เพื่อคำนวณค่าเฉลี่ยอายุ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Print the type of athlete_events_spark
print(____(athlete_events_spark))
# Print the schema of athlete_events_spark
print(athlete_events_spark.____())
# Group by the Year, and find the mean Age
print(athlete_events_spark.____('Year').mean(____))
# Group by the Year, and find the mean Age
print(athlete_events_spark.____('Year').mean(____).____())