Bắt đầu ngayBắt đầu miễn phí

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, wordchapter. 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 repartitiongetNumPartitions đã đượ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.

Bài tập này là một phần của khóa học

Nhập môn Spark SQL bằng Python

Xem khóa học

Hướng dẫn bài tập

  • 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.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)

# Prove that repart_df has 12 partitions
repart_df.____.____
Chỉnh sửa và Chạy Mã