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

แสดงความถี่ของคำ

หลังจากรวม values (จำนวนนับ) ที่มี key (คำ) เดียวกันแล้ว ในแบบฝึกหัดนี้จะดึง 10 ความถี่แรกของคำออกมา แม้จะใช้ collect() เพื่อดึงข้อมูลทั้งหมดในครั้งเดียวได้ แต่ไม่แนะนำให้ทำเช่นนั้น เพราะ RDD อาจมีขนาดใหญ่มากจนทำให้หน่วยความจำไม่เพียงพอและโปรแกรมหยุดทำงานได้

หากต้องการดึง 10 คำที่มีความถี่สูงสุด ให้เริ่มด้วยการสลับ key (คำ) กับ value (จำนวนนับ) เพื่อให้ key เป็นจำนวนนับและ value เป็นคำ ขณะนี้ result_RDD มี key เป็น element 0 และ value เป็น element 1 เมื่อสลับตำแหน่งใน tuple แล้ว ให้เรียง pair RDD ตาม key (จำนวนนับ) ซึ่งจะทำให้การเรียงลำดับง่ายกว่าการใช้ operation sortByKey ใน PySpark สุดท้ายให้ดึง 10 คำที่มีความถี่สูงสุดจาก RDD ที่เรียงลำดับแล้ว

มี SparkContext sc และ resultRDD พร้อมใช้งานใน workspace แล้ว

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

Big Data Fundamentals with PySpark

ดูคอร์ส

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

  • แสดง 10 คำแรกพร้อมความถี่จาก RDD ชื่อ resultRDD
  • สลับ keys และ values ใน resultRDD
  • เรียง keys ตามลำดับจากมากไปน้อย
  • แสดง 10 คำที่มีความถี่สูงสุดพร้อมความถี่จาก RDD ที่เรียงลำดับแล้ว

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

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

# Display the first 10 words and their frequencies from the input RDD
for word in resultRDD.____(10):
	print(word)

# Swap the keys and values from the input RDD
resultRDD_swap = resultRDD.____(lambda x: (x[1], x[____]))

# Sort the keys in descending order
resultRDD_swap_sort = resultRDD_swap.____(ascending=False)

# Show the top 10 most frequent words and their frequencies from the sorted RDD
for word in resultRDD_swap_sort.____(____):
	print("{},{}". format(____, word[0]))
แก้ไขและรันโค้ด