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ść odzyskiwaniaZORDER
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.
- Język Spark SQL umożliwia interakcję z ciągami 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.