Ange Spark-konfigurationsegenskaper på Azure Databricks

Du kan ange Spark-konfigurationsegenskaper (Spark-konfigurationer) för att anpassa inställningarna i din beräkningsmiljö.

Databricks rekommenderar vanligtvis att du inte konfigurerar de flesta Spark-egenskaper. Särskilt när du migrerar från Apache Spark med öppen källkod eller uppgraderar Databricks Runtime-versioner kan äldre Spark-konfigurationer åsidosätta nya standardbeteenden som optimerar arbetsbelastningar.

För många beteenden som styrs av Spark-egenskaper tillhandahåller Azure Databricks även alternativ för att antingen aktivera beteende på tabellnivå eller för att konfigurera anpassat beteende som en del av en skrivåtgärd. Schemautvecklingen kontrollerades till exempel tidigare av en Spark-egenskap, men har nu täckning i SQL, Python och Scala. Se Syntax för schemautveckling vid sammanslagning.

Konfigurera Spark-egenskaper för notebookar och jobb

Du kan ange Spark-egenskaper för anteckningsböcker och uppgifter. Omfånget för konfigurationen beror på hur du ställer in den.

Konfigurerade egenskaper Gäller för
Använda beräkningskonfigurationen Alla notebook-filer och jobb körs med beräkningsresursen.
I en anteckningsbok Endast SparkSession för den aktuella notebooken.

Anvisningar om hur du konfigurerar Spark-egenskaper på beräkningsnivå finns i Spark-konfiguration.

Om du vill ange en Spark-egenskap i en notebook-fil använder du följande syntax:

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")

Konfigurera Spark-egenskaper i Databricks SQL

Med Databricks SQL kan administratörer konfigurera Spark-egenskaper för dataåtkomst på menyn för arbetsyteinställningar. Se konfigurationer för dataåtkomst

Förutom konfigurationer för dataåtkomst tillåter Databricks SQL bara en handfull Spark-konfigurationer, som har aliaserats till kortare namn för enkelhetens skull. Se Konfigurationsparametrar.

För de flesta SQL-konfigurationer som stöds kan du åsidosätta det globala beteendet i den aktuella sessionen. I följande exempel inaktiveras ANSI-läge:

SET ANSI_MODE = false

Konfigurera Spark-egenskaper för Lakeflow Sparks deklarativa pipelinear

Med Lakeflow Spark Deklarativa Pipelines kan du konfigurera Spark-egenskaper för en pipeline, en beräkningsresurs som konfigurerats för en pipeline, eller för enskilda flöden, materialiserade vyer och strömmande tabeller.

Du kan ange egenskaper för pipeline och beräkning av Spark med hjälp av användargränssnittet eller JSON. Se avsnittet Konfigurera pipelines.

Använd alternativet spark_conf i dekoratörsfunktionerna i Lakeflow Spark Deklarativa Pipelines för att konfigurera Sparkegenskaper för flöden, vyer eller tabeller. Se Lakeflow Spark Deklarativa Pipelines Python Språkreferens.

Konfigurera Spark-egenskaper för serverlösa notebook-filer och jobb

Serverlös beräkning stöder inte inställning av de flesta Spark-egenskaper för notebook-filer eller jobb. Följande är de egenskaper som du kan konfigurera:

Egenskap Förvalt Beskrivning
spark.databricks.execution.timeout 9000 (gäller endast för notebook-filer) Tidsgränsen i sekunder för körning av Spark Connect-frågor. Standardvärdet gäller endast för notebook-frågor. För jobb som körs på serverlös beräkning (och jobb som körs på klassisk standardberäkning) finns det ingen tidsgräns om inte den här egenskapen har angetts.
spark.sql.legacy.timeParserPolicy CORRECTED Tidsparser-policyn.
spark.sql.session.timeZone Etc/UTC ID för sessionens lokala tidszon i formatet antingen regionbaserade zon-ID:er eller zonförskjutningar.
spark.sql.shuffle.partitions auto Standardantalet partitioner som ska användas när data blandas för kopplingar eller sammansättningar.
spark.sql.ansi.enabled true När det är sant använder Spark SQL en ANSI-kompatibel dialekt i stället för att vara Hive-kompatibel.
spark.sql.files.maxPartitionBytes 134217728 (128 MB) Det maximala antalet byte som ska packas i en enda partition vid läsning av filer.

Spark-egenskaper som inte stöds

Följande Spark-konfigurationsegenskaper stöds inte i Azure Databricks. Spark-egenskaper som inte stöds ignoreras antingen av Azure Databricks eller kan orsaka konflikter och fel när de används samtidigt med Azure Databricks funktioner. Om du migrerar arbetsbelastningar till Azure Databricks ersätter du egenskaper som inte stöds med de rekommenderade alternativen.

Spark-egenskaper som inte stöds Gäller för Databricks-alternativ
spark.dynamicAllocation.enabled
spark.dynamicAllocation.initialExecutors
spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors
spark.dynamicAllocation.executorIdleTimeout
Klassisk beräkning Konfigurera Azure Databricks automatisk skalning i stället, vilket hanterar körningslivscykeln på plattformsnivå. Se Aktivera automatisk skalning.
spark.master
spark.driver.host
spark.driver.port
Serverfri beräkning och Lakeflow Spark Deklarativa Pipelines Den Azure Databricks serverlösa infrastrukturen hanterar dessa interna anslutningsegenskaper automatiskt. De kan inte anges av användare. Om du ställer in dem på serverlös beräkning eller Lakeflow Spark Deklarativa pipelines resulterar det i ett fel.
spark.jars Serverfri beräkning och Lakeflow Spark Deklarativa Pipelines Azure Databricks stöder inte anslutning av JAR-filer till serverlösa beräkningsresurser eller declarative pipelines i Lakeflow Spark med Spark-konfigurationer, men du kan köra serverlösa JAR-jobb. Se Konfigurera miljö för jobbaktiviteter.
spark.databricks.runtimeoptions.* Klassisk beräkning runtime_options Använd attributet i klusterkonfigurationen i stället. Körningsalternativ kan inte anges som Spark-konfiguration på någon klustertyp. Om du försöker ange dessa med Spark-konfigurationer resulterar det i ett fel.

Hämta den aktuella inställningen för en Spark-konfiguration

Använd följande syntax för att granska den aktuella inställningen för en Spark-konfiguration:

spark.conf.get("configuration_name")