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

ReduceByKey และ Collect

หนึ่งใน transformation ของ pair RDD ที่ได้รับความนิยมมากที่สุดคือ reduceByKey() ซึ่งทำงานกับคู่ข้อมูล key, value (k,v) โดยจะรวมค่าที่มี key เดียวกันเข้าด้วยกัน ในแบบฝึกหัดนี้ จะสร้าง pair RDD จากรายการ tuple จากนั้นรวมค่าที่มี key เดียวกัน แล้วพิมพ์ผลลัพธ์ออกมา

อย่าลืมว่า SparkContext sc พร้อมใช้งานอยู่แล้วใน workspace ของคุณ

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

Big Data Fundamentals with PySpark

ดูคอร์ส

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

  • สร้าง pair RDD ชื่อ Rdd จาก tuple (1,2), (3,4), (3,6), (4,5)
  • แปลง Rdd ด้วย reduceByKey() ให้เป็น pair RDD ชื่อ Rdd_Reduced โดยบวกค่าที่มี key เดียวกันเข้าด้วยกัน
  • Collect เนื้อหาของ pair RDD Rdd_Reduced แล้ววนซ้ำเพื่อพิมพ์ผลลัพธ์

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

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

# Create PairRDD Rdd with key value pairs
Rdd = sc.parallelize([____])

# Apply reduceByKey() operation on Rdd
Rdd_Reduced = Rdd.reduceByKey(lambda x, y: ____)

# Iterate over the result and print the output
for num in Rdd_Reduced.____: 
  print("Key {} has {} Counts".format(____, num[1]))
แก้ไขและรันโค้ด