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

ลบ stop words และลดขนาดชุดข้อมูล

ในแบบฝึกหัดนี้ คุณจะลบ stop words ออกจากข้อมูล Stop words คือคำทั่วไปที่มักไม่มีความหมายสำคัญ เช่น "I", "the", "a" เป็นต้น ปกติแล้วสามารถสร้างรายการ stop words ขึ้นมาเองได้ แต่ในแบบฝึกหัดนี้ จะใช้รายการ stop words จาก stop_words ที่เตรียมไว้ให้ในสภาพแวดล้อมการทำงานแล้ว

หลังจากลบ stop words แล้ว ให้สร้าง pair RDD โดยแต่ละ element เป็น pair tuple (k, v) ที่ k คือ key และ v คือ value ในตัวอย่างนี้ pair RDD ประกอบด้วย (w, 1) โดย w แทนแต่ละคำใน RDD และ 1 คือตัวเลข จากนั้นรวม value ที่มี key เดียวกันจาก pair RDD เพื่อนับจำนวนครั้งที่แต่ละคำปรากฏ

ในสภาพแวดล้อมการทำงาน มี SparkContext sc และ splitRDD พร้อมใช้งานอยู่แล้ว รวมถึงตัวแปร stop_words ด้วย

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

Big Data Fundamentals with PySpark

ดูคอร์ส

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

  • กรอง splitRDD โดยลบคำที่อยู่ในตัวแปร stop_words ออก
  • สร้าง pair RDD tuple ที่ประกอบด้วยคำ (โดยใช้ตัววนซ้ำ w) และตัวเลข 1 จากแต่ละ element ใน splitRDD
  • นับจำนวนครั้งที่แต่ละคำปรากฏ (ความถี่ของคำ) จาก pair RDD โดยใช้ transformation ที่ทำงานกับคู่ key, value (k,v) ลองคิดให้รอบคอบว่าควรใช้ฟังก์ชันใด

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

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

# Filter splitRDD to remove stop words from the stop_words curated list
splitRDD_no_stop = splitRDD.____(lambda x: x.lower() not in ____)

# Create a tuple of the word (w) and 1 
splitRDD_no_stop_words = splitRDD_no_stop.map(lambda w: (____, ____))

# Count of the number of occurences of each word
resultRDD = splitRDD_no_stop_words.____(lambda x, y: x + y)
แก้ไขและรันโค้ด