1. 学ぶ
  2. /
  3. コース
  4. /
  5. PySpark でデータをクレンジングする

Connected

演習

Spark の結合でブロードキャストを使う

Spark ではテーブルの結合はクラスター内のワーカーに分散されます。データがローカルにない場合はさまざまなシャッフル処理が発生し、パフォーマンスに悪影響が出ることがあります。そこで、Spark の broadcast を使って、指定したデータのコピーを各ノードに配布します。

いくつかのヒント:

  • 小さい DataFrame をブロードキャストしましょう。DataFrame が大きいほど、ワーカーノードへの転送に時間がかかります。
  • 小さな DataFrame では、ブロードキャストを行わずに Spark に最適化を任せたほうがよい場合があります。
  • クエリ実行計画を見ると、broadcastHashJoin が表示されれば、ブロードキャストの設定に成功しています。

DataFrame の flights_df と airports_df が用意されています。

指示

100 XP
  • pyspark.sql.functions から broadcast() メソッドをインポートします。
  • ブロードキャストを使って、flights_df と airports_df を結合し、新しい DataFrame broadcast_df を作成します。
  • クエリプランを表示し、元の実行計画との違いを確認します。