開始使用免費開始

重新分割資料

已有一個 dataframe text_df,包含欄位 idwordchaptertext_df 的前 5 列已印出到主控台。

你可以用下列方式判斷共有 12 個章節:

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

這個指令的結果已以 Table 1 形式印出在主控台。

目前 dataframe text_df 只有單一分割區。假設你知道接下來的處理步驟會依章節進行分組。若要讓處理最有效率,最好是每個章節都待在同一臺機器上。為了避免資料在機器之間不必要的洗牌(shuffling),我們要把 dataframe 重新分割為每個章節一個分割區,並使用本章第一段影片教過的 repartitiongetNumPartitions 指令。

如果忘了影片中的做法,別猶豫,請參考主控台右側提供的投影片。

本練習屬於課程

Python Spark SQL 入門

檢視課程

練習說明

  • 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.____.____
編輯並執行程式碼