1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Spark SQL bằng Python

Connected

Bài tập

Phân vùng lại dữ liệu

Một dataframe text_df tồn tại với các cột id, word và chapter. 5 hàng đầu tiên của text_df đã được in ra console.

Bạn có thể xác định rằng có 12 chương bằng lệnh sau:

text_df.select('chapter')\
       .distinct()\
       .sort('chapter')\
       .show(truncate=False)

Kết quả của lệnh này được in ra console là Table 1.

Hiện tại dataframe text_df nằm trong một partition duy nhất. Giả sử bạn biết các bước xử lý sắp tới sẽ nhóm dữ liệu theo chương. Việc xử lý sẽ hiệu quả nhất nếu mỗi chương nằm gọn trên một máy. Để tránh shuffle dữ liệu không cần thiết giữa các máy, hãy phân vùng lại dataframe thành một partition cho mỗi chương, sử dụng các lệnh repartition và getNumPartitions đã được giới thiệu trong video đầu tiên của chương này.

Nếu quên cách thực hiện trong video, bạn cứ tham khảo các slide ở bên phải console.

Hướng dẫn

100 XP
  • Phân vùng lại text_df thành 12 partition, mỗi chương nằm trong partition riêng của nó.
  • Hiển thị số lượng partition trong dataframe mới.