Dela via


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 också 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

Pytonorm

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 deklarativa Lakeflow-pipelines

Med Deklarativa pipelines för Lakeflow kan du konfigurera Spark-egenskaper för en pipeline, för en beräkningsresurs som konfigurerats för en pipeline eller för enskilda flöden, materialiserade vyer eller 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 Konfigurera deklarativa pipelines för Lakeflow.

Använd alternativet spark_conf i dekoratorfunktionerna i Lakeflow deklarativa pipelines för att konfigurera Spark-egenskaper för flöden, vyer eller tabeller. Se Python-språkreferens för Lakeflow Deklarativa Pipelines.

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

Severless compute 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 Tidsgränsen i sekunder för körning av Spark Connect-frågor. Standardvärdet gäller endast för anteckningsböcker som körs på serverlös beräkning. För jobb som körs på serverlös beräkning och beräkning med standardåtkomstläge 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.

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