การกรองและนับข้อมูล
การแปลง RDD ด้วย filter() จะคืนค่า RDD ใหม่ที่มีเฉพาะองค์ประกอบที่ผ่านเงื่อนไขของฟังก์ชันที่กำหนด ซึ่งมีประโยชน์มากในการกรองชุดข้อมูลขนาดใหญ่ตามคีย์เวิร์ด ในแบบฝึกหัดนี้ จะกรองเฉพาะบรรทัดที่มีคำว่า Spark จาก RDD ชื่อ fileRDD ซึ่งเก็บข้อความจากไฟล์ README.md จากนั้นนับจำนวนบรรทัดทั้งหมดที่มีคำว่า Spark และพิมพ์ 4 บรรทัดแรกของ RDD ที่กรองแล้ว
โดย SparkContext sc, file_path และ fileRDD ได้ถูกเตรียมไว้ใน workspace ของคุณแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Big Data Fundamentals with PySpark
คำแนะนำการฝึกหัด
- สร้างการแปลง
filter()เพื่อเลือกเฉพาะบรรทัดที่มีคำว่าSpark - มีกี่บรรทัดใน
fileRDD_filterที่มีคำว่าSpark? - พิมพ์ 4 บรรทัดแรกของ RDD ที่ได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Filter the fileRDD to select lines with Spark keyword
fileRDD_filter = fileRDD.filter(lambda line: 'Spark' in ____)
# How many lines are there in fileRDD?
print("The total number of lines with the keyword Spark is", fileRDD_filter.____())
# Print the first four lines of fileRDD
for line in fileRDD_filter.____(____):
print(line)