Nastavení vlastností konfigurace Sparku na Azure Databricks

Vlastnosti konfigurace Sparku (Confs Sparku) můžete nastavit tak, aby se přizpůsobila nastavení ve výpočetním prostředí.

Databricks obecně nedoporučuje konfigurovat většinu vlastností Sparku. Zvláště když migrujete z opensourcového Apache Sparku nebo upgradujete verze Databricks Runtime, starší konfigurace Sparku můžou přepsat nové výchozí chování, které optimalizuje úlohy.

U mnoha chování řízených vlastnostmi Sparku poskytuje Azure Databricks také možnosti povolení chování na úrovni tabulky nebo konfigurace vlastního chování v rámci operace zápisu. Vývoj schématu byl například dříve řízen vlastností Sparku, ale nyní má pokrytí v SQL, Python a Scala. Podívejte se MERGEna vývoj schématu pomocí SQL, Pythonu a Scaly.

Konfigurace vlastností Sparku pro poznámkové bloky a úlohy

Vlastnosti Sparku můžete nastavit pro poznámkové bloky a úlohy. Rozsah konfigurace závisí na tom, jak ji nastavíte.

Nakonfigurované vlastnosti Vztahuje se na
Použití konfigurace výpočetního prostředí Všechny poznámkové bloky a úlohy běží s výpočetním prostředkem.
V poznámkovém bloku pouze SparkSession pro aktuální poznámkový blok.

Pokyny ke konfiguraci vlastností Sparku na úrovni výpočetních prostředků najdete v tématu Konfigurace Sparku.

K nastavení vlastnosti Spark v poznámkovém bloku použijte následující syntaxi:

SQL

SET spark.sql.ansi.enabled = true

Python

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

Scala

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

Konfigurace vlastností Sparku v Databricks SQL

Databricks SQL umožňuje správcům konfigurovat vlastnosti Sparku pro přístup k datům v nabídce nastavení pracovního prostoru. Viz konfigurace přístupu k datům

Kromě konfigurací přístupu k datům umožňuje Databricks SQL jen několik málo konfigurací Sparku, které byly pro zjednodušení přejmenovány na kratší názvy. Viz parametry konfigurace .

U většiny podporovaných konfigurací SQL můžete v aktuální relaci přepsat globální chování. Následující příklad vypne režim ANSI:

SET ANSI_MODE = false

Konfigurace vlastností Sparku pro deklarativní kanály Lakeflow Spark

Deklarativní kanály Sparku pro Lakeflow umožňují nakonfigurovat vlastnosti Sparku pro kanál, jeden výpočetní prostředek nakonfigurovaný pro kanál nebo pro jednotlivé toky, materializovaná zobrazení nebo tabulky streamování.

Vlastnosti potrubí a výpočetního systému Spark můžete nastavit pomocí uživatelského rozhraní nebo JSON. Viz Konfigurace kanálů.

Pomocí možnosti spark_conf ve funkcích dekorátoru deklarativních kanálů Spark můžete nakonfigurovat vlastnosti Spark pro toky, zobrazení nebo tabulky. Viz Lakeflow Spark a referenční příručku jazyka Python pro deklarativní kanály.

Konfigurace vlastností Sparku pro bezserverové poznámkové bloky a úlohy

Bezserverové výpočetní prostředí nepodporuje nastavení většiny vlastností Sparku pro poznámkové bloky nebo úlohy. Níže jsou uvedené vlastnosti, které můžete nakonfigurovat:

Vlastnost Výchozí Popis
spark.databricks.execution.timeout 9000 (platí jenom pro notebooky) Časový limit spuštění dotazů Spark Connect v sekundách. Výchozí hodnota je použitelná jenom pro dotazy na poznámkové bloky. Správci pracovního prostoru můžou změnit výchozí nastavení pro bezserverové poznámkové bloky v nastavení správce pracovního prostoru. Viz ochrana proti nadměrným výdajům ve službě Serverless. U úloh spuštěných na bezserverovém výpočetním prostředí (a úlohách běžících na klasickém výpočetním prostředí úrovně Standard) neexistuje časový limit, pokud není tato vlastnost nastavená.
spark.sql.legacy.timeParserPolicy CORRECTED Politika analyzátoru času.
spark.sql.session.timeZone Etc/UTC ID místního časového pásma relace ve formátu ID zón podle regionu nebo offsetů zóny.
spark.sql.shuffle.partitions auto Výchozí nastavení počtu oddílů, které se mají použít při přesouvání dat pro spojení nebo agregace.
spark.sql.ansi.enabled true Pokud je pravda, Spark SQL místo toho, aby byl kompatibilní s Hivem, používá dialekt kompatibilní se standardem ANSI.
spark.sql.files.maxPartitionBytes 134217728 (128 MB) Maximální počet bajtů, které se mají zabalit do jednoho oddílu při čtení souborů.

Nepodporované vlastnosti Sparku

V Azure Databricks nejsou podporovány následující vlastnosti konfigurace Sparku. Nepodporované vlastnosti Sparku se buď ignorují Azure Databricks, nebo můžou způsobit konflikty a chyby, pokud se používají současně s funkcemi Azure Databricks. Pokud migrujete úlohy na Azure Databricks, nahraďte nepodporované vlastnosti doporučenými alternativami.

Note

Kromě zde uvedených vlastností omezuje standardní režim přístupu pro Databricks Runtime 19 a novější určité vlastnosti konfigurace Sparku. Vytvoření nebo úprava clusteru, který nastaví omezenou vlastnost, selže s chybou. Viz omezení konfigurace Sparku.

Nepodporované vlastnosti Sparku Vztahuje se na Alternativní řešení Databricks
spark.dynamicAllocation.enabled
spark.dynamicAllocation.initialExecutors
spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors
spark.dynamicAllocation.executorIdleTimeout
Klasické výpočetní prostředky Místo toho nakonfigurujte Azure Databricks automatické škálování, které spravuje životní cyklus exekutoru na úrovni platformy. Viz část Povolení automatického škálování.
spark.master
spark.driver.host
spark.driver.port
Bezserverové výpočty a deklarativní kanály Lakeflow Spark Azure Databricks bezserverová infrastruktura spravuje tyto vlastnosti interního připojení automaticky. Uživatelé je nemůžou nastavit. Při jejich nastavení na bezserverové výpočetní prostředí nebo Lakeflow Spark Declarative Pipelines dojde k chybě.
spark.jars Bezserverové výpočty a deklarativní kanály Lakeflow Spark Azure Databricks nepodporuje připojení JAR k bezserverovým výpočetním prostředkům nebo deklarativním kanálům Lakeflow Spark pomocí konfigurací Sparku, ale můžete spouštět bezserverové úlohy JAR. Viz Konfigurace prostředí pro úlohy.
spark.databricks.runtimeoptions.* Klasické výpočetní prostředky runtime_options Místo toho použijte atribut v konfiguraci clusteru. Možnosti modulu runtime nelze nastavit jako konfiguraci Sparku pro žádný typ clusteru. Při pokusu o nastavení pomocí konfigurací Sparku dojde k chybě.

Získání aktuálního nastavení konfigurace Sparku

Pomocí následující syntaxe zkontrolujte aktuální nastavení konfigurace Sparku:

spark.conf.get("configuration_name")