Udostępnij przez


Optymalizacja wydajności łączeń w usłudze Azure Databricks

Za pomocą usługi Azure Databricks można tworzyć łączenia w tabelach wsadowych lub przesyłanych strumieniowo. Niektóre sprzężenia mogą być kosztowne. Poniższe kroki mogą pomóc w optymalizacji sprzężeń.

Aby uzyskać więcej informacji na temat sprzężeń, zobacz Work with joins on Azure Databricks (Praca z przyłączeniami w usłudze Azure Databricks).

Obliczenia z włączoną funkcją Photon zawsze wybierają najlepszy typ sprzężenia. Zobacz Co to jest Photon?. Korzystanie z najnowszej wersji środowiska Databricks Runtime z włączoną funkcją Photon ogólnie zapewnia dobrą wydajność dołączania, ale należy również wziąć pod uwagę następujące zalecenia:

  • Sprzężenia krzyżowe są bardzo drogie. Usuń sprzężenia krzyżowe z obciążeń i zapytań, które wymagają małych opóźnień lub częstej ponownej kompilacji.

  • Kolejność dołączania ma znaczenie. Podczas wykonywania wielu sprzężeń zawsze najpierw połącz najmniejsze tabele, a następnie połącz wynik z większymi tabelami.

  • Optymalizator może zmagać się z zapytaniami z wieloma sprzężeniami i agregacjami. Zapisywanie wyników pośrednich może przyspieszyć planowanie zapytań i wyniki obliczeń.

  • Zachowaj świeże statystyki, aby zwiększyć wydajność. Optymalizacja predykcyjna automatycznie aktualizuje i utrzymuje statystyki. Zobacz Optymalizację predykcyjną dla tabel zarządzanych w Unity Catalog.

    Możesz również uruchomić zapytanie o nazwie ANALYZE TABLE table_name COMPUTE STATISTICS, aby odświeżyć statystyki w planerze zapytań.

Uwaga

W środowisku Databricks Runtime 14.3 LTS i nowszym można zmodyfikować kolumny, na które Delta Lake zbiera statystyki na potrzeby pomijania danych, a następnie ponownie obliczyć istniejące statystyki w dzienniku Delta. Zobacz Określanie kolumn statystyk Delta.