1. Nauka
  2. /
  3. Kursy
  4. /
  5. Czyszczenie danych w PySpark

Connected

ćwiczenie

Używanie broadcastingu w złączeniach Sparka

Pamiętaj, że złączenia tabel w Sparku są rozdzielane między węzły robocze klastra. Jeśli dane nie są dostępne lokalnie, konieczne są różne operacje shuffle, które mogą negatywnie wpłynąć na wydajność. Zamiast tego użyjemy operacji broadcast Sparka, aby przekazać każdemu węzłowi kopię wskazanych danych.

Kilka wskazówek:

  • Wykonuj broadcast na mniejszym DataFrame. Im większy DataFrame, tym więcej czasu zajmuje jego przesłanie do węzłów roboczych.
  • W przypadku małych DataFrame'ów lepiej może być pominąć broadcasting i pozwolić Sparkowi samodzielnie dobrać optymalizację.
  • Jeśli przejrzysz plan wykonania zapytania, broadcastHashJoin oznacza, że broadcasting został poprawnie skonfigurowany.

DataFrame'y flights_df i airports_df są dostępne w środowisku.

Instrukcje

100 XP
  • Zaimportuj metodę broadcast() z pyspark.sql.functions.
  • Utwórz nowy DataFrame broadcast_df, łącząc flights_df z airports_df przy użyciu broadcastingu.
  • Wyświetl plan zapytania i zastanów się, czym różni się od poprzedniego.