データの再パーティション化
列 id、word、chapter を持つデータフレーム text_df があり、先頭5行がコンソールに表示されています。
次のコードで章が 12 個あることを確認できます。
text_df.select('chapter')\
.distinct()\
.sort('chapter')\
.show(truncate=False)
このコマンドの結果は Table 1 としてコンソールに表示されています。
データフレーム text_df は現在 1 つのパーティションにあります。ここで、今後の処理でデータを章ごとにグループ化することがわかっているとします。各章が 1 台のマシン内に収まるようにすると、処理が最も効率的になります。マシン間で不要なシャッフルを避けるため、この章の最初の動画で学んだ repartition と getNumPartitions コマンドを使って、データフレームを章ごとに 1 パーティション、合計 12 パーティションに再パーティション化しましょう。
動画でのやり方を忘れた場合は、コンソール右側のスライドを遠慮なく参照してください。
この演習はコースの一部です
Pythonで学ぶ Spark SQL 入門
演習の手順
text_dfを 12 パーティションに再パーティション化し、各章がそれぞれのパーティションに入るようにします。- 新しいデータフレームのパーティション数を表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)
# Prove that repart_df has 12 partitions
repart_df.____.____