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, od przetwarzania ETL na dużą skalę po zapytania interaktywne 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ślnej warstwy magazynu używanej 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 zachowania opisane tutaj 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ń.
- Scalanie z małą ilością 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ń dzięki wykorzystaniu statystyk tabeli.
- Język Spark SQL umożliwia interakcję z częściowo ustrukturyzowanymi danymi JSON bez analizowania ciągów.
- Funkcje wyższego rzędu zapewniają wbudowaną, zoptymalizowaną wydajność dla wielu operacji, które nie mają typowych operatorów platformy Spark. Funkcje wyższego rzędu zapewniają korzyść wydajności w stosunku do 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ń, które zawierają zakresy lub zawierają dane ze niesymetrycznością podstanu.
Zachowania zgody
- Usługa Azure Databricks domyślnie zapewnia gwarancję izolacji możliwej do 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.
- Za pomocą indeksów filtrów blooma można zmniejszyć prawdopodobieństwo skanowania plików danych, które nie zawierają rekordów pasujących do danego warunku.