Udostępnij za pośrednictwem


Ustawianie właściwości konfiguracji platformy Spark na Azure Databricks

Możesz ustawić właściwości konfiguracji platformy Spark (ograniczenia platformy Spark), aby dostosować ustawienia w środowisku obliczeniowym.

Usługa Databricks zazwyczaj zaleca, aby nie konfigurować większości właściwości platformy Spark. Szczególnie w przypadku migracji z platformy Apache Spark typu open source lub uaktualniania wersji środowiska Databricks Runtime starsze konfiguracje platformy Spark mogą zastąpić nowe domyślne zachowania, które optymalizują obciążenia.

W przypadku wielu zachowań kontrolowanych przez właściwości platformy Spark Azure Databricks również udostępnia opcje włączania zachowania na poziomie tabeli lub konfigurowania zachowania niestandardowego w ramach operacji zapisu. Na przykład ewolucja schematu była wcześniej kontrolowana przez właściwość spark, ale teraz ma pokrycie w języku SQL, Python i Scala. Zobacz Składnia ewolucji schematu dla scalania.

Konfigurowanie właściwości platformy Spark dla notesów i zadań

Możesz ustawić właściwości platformy Spark dla notesów i zadań. Zakres konfiguracji zależy od sposobu jej ustawienia.

Skonfigurowane właściwości Dotyczy
Korzystanie z konfiguracji obliczeniowej Wszystkie notebooki i zadania są uruchamiane przy wykorzystaniu zasobu obliczeniowego.
W notatniku Tylko SparkSession dla bieżącego notebooka.

Aby uzyskać instrukcje dotyczące konfigurowania właściwości platformy Spark na poziomie obliczeń, zobacz Konfiguracja platformy Spark.

Aby ustawić właściwość Spark w notesie, użyj następującej składni:

SQL

SET spark.sql.ansi.enabled = true

Python

spark.conf.set("spark.sql.ansi.enabled", "true")

Skala

spark.conf.set("spark.sql.ansi.enabled", "true")

Konfigurowanie właściwości platformy Spark w usłudze Databricks SQL

Usługa Databricks SQL umożliwia administratorom konfigurowanie właściwości platformy Spark na potrzeby dostępu do danych w menu ustawień obszaru roboczego. Zobacz Konfiguracje dostępu do danych

Oprócz konfiguracji dostępu do danych, Databricks SQL pozwala tylko na kilka konfiguracji Spark, które zostały przedstawione w skróconych nazwach dla uproszczenia. Zobacz Parametry konfiguracji.

W przypadku większości obsługiwanych konfiguracji SQL można zastąpić działanie globalne w bieżącej sesji. Poniższy przykład wyłącza tryb ANSI:

SET ANSI_MODE = false

Konfigurowanie właściwości Spark dla potoków deklaratywnych Lakeflow Spark

Lakeflow Spark Declarative Pipelines pozwala na konfigurowanie właściwości Spark dla potoku, jednego zasobu obliczeniowego skonfigurowanego dla potoku, lub dla poszczególnych przepływów, widoków materializowanych lub tabel strumieniowych.

Właściwości potoku danych i obliczeń Spark można ustawić przy użyciu interfejsu użytkownika lub formatu JSON. Zobacz Konfigurowanie potoków.

Użyj opcji spark_conf w funkcjach dekoratora potoków deklaratywnych Spark w usłudze Lakeflow, aby skonfigurować właściwości Spark dla przepływów, widoków lub tabel. Zobacz odniesienie do dokumentacji języka Python dla Lakeflow Spark Deklaratywne potoki.

Konfigurowanie właściwości platformy Spark dla notesów i zadań bezserwerowych

Przetwarzanie bezserwerowe nie obsługuje ustawiania większości właściwości Spark dla notebooków lub zadań. Poniżej przedstawiono właściwości, które można skonfigurować:

Własność Domyślny Opis
spark.databricks.execution.timeout 9000 (dotyczy tylko notebooków) Limit czasu wykonywania w sekundach dla zapytań Spark Connect. Wartość domyślna ma zastosowanie tylko w przypadku zapytań notebooka. W przypadku zadań uruchomionych na bezserwerowych obliczeniach (i zadaniach uruchomionych w klasycznym standardowym środowisku obliczeniowym) nie ma limitu czasu, chyba że ta właściwość jest ustawiona.
spark.sql.legacy.timeParserPolicy CORRECTED Polityka analizatora czasu.
spark.sql.session.timeZone Etc/UTC Identyfikator lokalnej strefy czasowej sesji w postaci identyfikatorów stref opartych na regionie lub przesunięć stref.
spark.sql.shuffle.partitions auto Domyślna liczba partycji do użycia podczas mieszania danych dla sprzężeń lub agregacji.
spark.sql.ansi.enabled true Gdy wartość to true, Spark SQL używa dialektu zgodnego z ANSI zamiast zgodnego z Hive.
spark.sql.files.maxPartitionBytes 134217728 (128 MB) Maksymalna liczba bajtów do spakowania w jedną partycję podczas odczytywania plików.

Nieobsługiwane właściwości platformy Spark

Następujące właściwości konfiguracji platformy Spark nie są obsługiwane w Azure Databricks. Nieobsługiwane właściwości platformy Spark są ignorowane przez Azure Databricks lub mogą powodować konflikty i błędy, gdy są używane jednocześnie z funkcjami Azure Databricks. W przypadku migrowania obciążeń do Azure Databricks zastąp nieobsługiwane właściwości zalecanymi alternatywami.

Nieobsługiwane właściwości platformy Spark Dotyczy Alternatywa usługi Databricks
spark.dynamicAllocation.enabled
spark.dynamicAllocation.initialExecutors
spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors
spark.dynamicAllocation.executorIdleTimeout
Obliczenia klasyczne Zamiast tego skonfiguruj autoskalowanie Azure Databricks, które zarządza cyklem życia wykonawcy na poziomie platformy. Zobacz Włącz skalowanie automatyczne.
spark.master
spark.driver.host
spark.driver.port
Bezserwerowe obliczenia i deklaratywne potoki Lakeflow Spark Infrastruktura bezserwerowa Azure Databricks automatycznie zarządza tymi właściwościami połączenia wewnętrznego. Nie mogą być ustawiane przez użytkowników. Ustawienie ich w bezserwerowych potokach obliczeniowych lub potokach deklaratywnych Lakeflow Spark powoduje wystąpienie błędu.
spark.jars Bezserwerowe obliczenia i deklaratywne potoki Lakeflow Spark Azure Databricks nie obsługuje dołączania plików JAR do obliczeń bezserwerowych ani deklaratywnych potoków Spark Lakeflow przy użyciu konfiguracji Spark, ale można uruchamiać bezserwerowe zadania z użyciem plików JAR. Zobacz Skonfiguruj środowisko dla zadań w pracy.
spark.databricks.runtimeoptions.* Obliczenia klasyczne Zamiast tego użyj atrybutu runtime_options w konfiguracji klastra. Nie można ustawić opcji środowiska uruchomieniowego jako konfiguracji platformy Spark w dowolnym typie klastra. Próba ustawienia tych ustawień przy użyciu konfiguracji platformy Spark powoduje wystąpienie błędu.

Pobierz bieżące ustawienie dla konfiguracji platformy Spark

Użyj następującej składni, aby przejrzeć bieżące ustawienie konfiguracji platformy Spark:

spark.conf.get("configuration_name")