1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Cleaning Data with PySpark

Connected

cvičení

Použití broadcastingu při joinech ve Sparku

Joiny tabulek ve Sparku se rozdělují mezi jednotlivé workery v clusteru. Pokud data nejsou dostupná lokálně, jsou potřeba různé shuffle operace, které mohou negativně ovlivnit výkon. Místo toho využijeme Sparkovu operaci broadcast, která každému uzlu poskytne vlastní kopii zadaných dat.

Pár tipů:

  • Broadcastuj menší DataFrame. Čím větší DataFrame, tím více času zabere jeho přenos na workery.
  • U malých DataFramů může být lepší broadcasting vynechat a nechat Spark, ať si optimalizaci vyřeší sám.
  • Pokud se podíváš na plán provádění dotazu, broadcastHashJoin znamená, že se broadcasting povedlo nastavit správně.

K dispozici máš DataFramy flights_df a airports_df.

Pokyny

100 XP
  • Importuj metodu broadcast() z pyspark.sql.functions.
  • Vytvoř nový DataFrame broadcast_df tak, že spojíš flights_df s airports_df pomocí broadcastingu.
  • Zobraz plán dotazu a zamysli se nad tím, čím se liší od původního.