การแบ่งพาร์ติชันข้อมูลใหม่
มี DataFrame ชื่อ text_df ซึ่งมีคอลัมน์ id, word และ chapter โดย 5 แถวแรกของ text_df จะถูกแสดงในคอนโซล
สามารถตรวจสอบได้ว่ามีทั้งหมด 12 บท (chapter) ด้วยคำสั่งต่อไปนี้:
text_df.select('chapter')\
.distinct()\
.sort('chapter')\
.show(truncate=False)
ผลลัพธ์ของคำสั่งนี้จะแสดงในคอนโซลในชื่อ Table 1
ขณะนี้ DataFrame text_df อยู่ในพาร์ติชันเดียว สมมติว่าขั้นตอนการประมวลผลถัดไปจะจัดกลุ่มข้อมูลตามบท การประมวลผลจะมีประสิทธิภาพสูงสุดหากข้อมูลของแต่ละบทอยู่ในเครื่องเดียวกัน เพื่อหลีกเลี่ยงการสับเปลี่ยนข้อมูลระหว่างเครื่องโดยไม่จำเป็น มาแบ่ง DataFrame ใหม่เป็นพาร์ติชันละ 1 บท โดยใช้คำสั่ง repartition และ getNumPartitions ที่สอนไว้ในวิดีโอแรกของบทนี้
หากลืมวิธีการทำสามารถดูได้จากสไลด์ที่อยู่ทางขวาของคอนโซล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Spark SQL in Python
คำแนะนำการฝึกหัด
- แบ่งพาร์ติชัน
text_dfใหม่เป็น 12 พาร์ติชัน โดยให้แต่ละบทอยู่ในพาร์ติชันของตัวเอง - แสดงจำนวนพาร์ติชันใน DataFrame ใหม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)
# Prove that repart_df has 12 partitions
repart_df.____.____