Udostępnij za pośrednictwem


Zalecenia dotyczące optymalizacji dotyczące Azure Databricks

Azure Databricks oferuje wiele optymalizacji wspierających różnorodne obciążenia w lakehouse, począwszy od przetwarzania ETL na dużą skalę, aż po zapytania ad hoc i interaktywne. Wiele z tych optymalizacji odbywa się automatycznie. Uzyskujesz swoje korzyści po prostu przy użyciu Azure Databricks. Ponadto większość funkcji środowiska Databricks Runtime wymaga usługi Delta Lake — domyślnego formatu używanego do tworzenia tabel w Azure Databricks.

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.

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

  • Można klonować tabele na platformie Azure Databricks, 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 ciągami JSON bez analizowania ciągów.
  • Funkcje wyższego rzędu zapewniają wbudowaną i zoptymalizowaną wydajność dla wielu operacji, które nie mają typowych operatorów platformy Spark. Funkcje wyższego rzędu zapewniają korzyść w zakresie wydajności w porównaniu do funkcji zdefiniowanych przez użytkownika.
  • Azure Databricks udostępnia szereg wbudowanych operatorów i specjalną składnię do pracy z typami danych complex, w tym tablicami, strukturami i ciągami JSON.
  • Możesz ręcznie dostosować ustawienia połączeń zakresu. Zobacz optymalizację połączenia zakresu.

Zachowania dobrowolnego udziału

  • Azure Databricks zapewnia domyślnie gwarancję izolacji zapisu do serializacji; zmiana poziomu izolacji na serializowalny może zmniejszyć przepływność dla operacji współbieżnych, ale może być konieczna, gdy wymagana jest serializowalność odczytu.
  • Azure Databricks wycofało indeksy filtrów Bloom. Zamiast tego użyj predykcyjnego I/O lub klastrowania płynnego.