BaşlayınÜcretsiz Başlayın

Spark join'larında yayın (broadcast) kullanma

Unutma, Spark'ta tablo join'ları küme işçileri arasında bölünür. Veri yerel değilse, çeşitli shuffle işlemleri gerekir ve bu da performansı olumsuz etkileyebilir. Bunun yerine, belirtilen verinin bir kopyasını her düğüme vermek için Spark'ın broadcast işlemlerini kullanacağız.

Birkaç ipucu:

  • Daha küçük DataFrame'i yayınla (broadcast et). DataFrame ne kadar büyükse, işçi düğümlere aktarım o kadar uzun sürer.
  • Küçük DataFrame'lerde, yayınlamayı atlayıp optimizasyonu Spark'ın kendi kendine bulmasına izin vermek daha iyi olabilir.
  • Sorgu yürütme planına bakarsan, bir broadcastHashJoin, yayınlamayı başarıyla yapılandırdığını gösterir.

flights_df ve airports_df DataFrame'leri kullanımına hazır.

Bu egzersiz

PySpark ile Veri Temizleme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • pyspark.sql.functions içinden broadcast() yöntemini içe aktar.
  • Yayınlamayı kullanarak flights_df ile airports_df'i join ederek yeni bir broadcast_df DataFrame'i oluştur.
  • Sorgu planını göster ve orijinalden farklarını düşün.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Import the broadcast method from pyspark.sql.functions
from ____ import ____

# Join the flights_df and airports_df DataFrames using broadcasting
broadcast_df = flights_df.____(____(airports_df), \
    flights_df["Destination Airport"] == airports_df["IATA"] )

# Show the query plan and compare against the original
broadcast_df.____()
Kodu Düzenle ve Çalıştır