Zalecenia dotyczące optymalizacji w usłudze Azure Databricks

Usługa Azure Databricks oferuje wiele optymalizacji obsługujących różne obciążenia w usłudze Lakehouse, począwszy od przetwarzania ETL na dużą skalę po zapytania interakcyjne ad hoc. Wiele z tych optymalizacji odbywa się automatycznie. Korzyści można uzyskać po prostu przy użyciu usługi Azure Databricks. Ponadto większość funkcji środowiska Databricks Runtime wymaga usługi Delta Lake — domyślnego formatu używanego do tworzenia tabel w usłudze Azure Databricks.

Usługa Azure Databricks konfiguruje wartości domyślne, które optymalizują większość obciążeń. Jednak w niektórych przypadkach zmiana ustawień konfiguracji zwiększa wydajność.

Ulepszenia wydajności środowiska Databricks Runtime

Uwaga

Użyj najnowszego środowiska Databricks Runtime, aby skorzystać z najnowszych ulepszeń wydajności. Wszystkie opisane tutaj zachowania są domyślnie włączone w środowisku Databricks Runtime 10.4 LTS i nowszym.

  • Buforowanie dysku przyspiesza powtarzające się operacje odczytu względem plików danych Parquet, ładując dane do woluminów dysków dołączonych do klastrów obliczeniowych.
  • Dynamiczne oczyszczanie plików zwiększa wydajność zapytań , pomijając katalogi, które nie zawierają plików danych pasujących do predykatów zapytań.
  • Mała liczba scaleń mieszania zmniejsza liczbę plików danych przepisanych przez MERGE operacje i zmniejsza konieczność odzyskiwania ZORDER klastrów.
  • Platforma Apache Spark 3.0 wprowadziła adaptacyjne wykonywanie zapytań, co zapewnia zwiększoną wydajność wielu operacji.

Zalecenia usługi Databricks dotyczące zwiększonej wydajności

  • Tabele w usłudze Azure Databricks można klonować, aby tworzyć głębokie lub płytkie kopie źródłowych zestawów danych.
  • Optymalizator oparty na kosztach przyspiesza wydajność zapytań, wykorzystując statystyki tabel.
  • Usługa Spark SQL umożliwia interakcję z częściowo ustrukturyzowanymi danymi JSON bez analizowania ciągów.
  • Funkcje wyższego zamówienia zapewniają wbudowaną, zoptymalizowaną wydajność dla wielu operacji, które nie mają typowych operatorów platformy Spark. Funkcje wyższego zamówienia zapewniają korzyść w zakresie wydajności funkcji zdefiniowanych przez użytkownika.
  • Usługa Azure Databricks udostępnia szereg wbudowanych operatorów i specjalną składnię do pracy ze złożonymi typami danych, w tym tablicami, strukturami i ciągami JSON.
  • Możesz ręcznie dostroić ustawienia sprzężeń zakresu. Zobacz Optymalizacja sprzężenia zakresu.

Zachowania zgody

  • Usługa Azure Databricks domyślnie zapewnia gwarancję izolacji z możliwością serializacji zapisu; Zmiana poziomu izolacji na możliwy do serializacji może zmniejszyć przepływność dla operacji współbieżnych, ale może być konieczne, gdy wymagana jest serializacja odczytu.
  • Indeksy filtrów blooma umożliwiają zmniejszenie prawdopodobieństwa skanowania plików danych, które nie zawierają rekordów pasujących do danego warunku.