Spark-configuratie-eigenschappen instellen op Azure Databricks

U kunt Spark-configuratie-eigenschappen (Spark-confs) instellen om instellingen in uw rekenomgeving aan te passen.

Databricks raadt over het algemeen af om de meeste Spark-eigenschappen te configureren. Met name bij het migreren van opensource Apache Spark of het upgraden van Databricks Runtime-versies, kunnen verouderde Spark-configuraties het nieuwe standaardgedrag overschrijven waarmee workloads worden geoptimaliseerd.

Voor veel gedragingen die worden beheerd door Spark-eigenschappen, biedt Azure Databricks ook opties voor het inschakelen van gedrag op tabelniveau of het configureren van aangepast gedrag als onderdeel van een schrijfbewerking. De ontwikkeling van schema's werd bijvoorbeeld eerder beheerd door een Spark-eigenschap, maar heeft nu dekking in SQL, Python en Scala. Bekijk MERGE de ontwikkeling van schema's met behulp van SQL, Python en Scala.

Spark-eigenschappen configureren voor notebooks en jobs

U kunt Spark-eigenschappen instellen voor notebooks en jobs. Het bereik van de configuratie is afhankelijk van hoe u deze instelt.

Geconfigureerde eigenschappen Van toepassing op:
Berekeningsconfiguratie gebruiken Alle notebooks en taken worden uitgevoerd met de rekenkracht.
Binnen een notitieblok Alleen de SparkSession voor het huidige notebook.

Zie de Spark-configuratie voor instructies over het configureren van Spark-eigenschappen op rekenniveau.

Gebruik de volgende syntaxis om een Spark-eigenschap in een notebook in te stellen:

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

Spark-eigenschappen configureren in Databricks SQL

Met Databricks SQL kunnen beheerders Spark-eigenschappen configureren voor gegevenstoegang in het instellingenmenu van de werkruimte. Zie configuraties voor gegevenstoegang

Behalve configuraties voor gegevenstoegang staat Databricks SQL slechts een handvol Spark-confs toe, die zijn gealiaseerd naar kortere namen voor het gemak. Zie Configuratieparameters.

Voor de meeste ondersteunde SQL-configuraties kunt u het globale gedrag in uw huidige sessie overschrijven. In het volgende voorbeeld wordt de ANSI-modus uitgeschakeld:

SET ANSI_MODE = false

Spark-eigenschappen configureren voor Lakeflow-pijplijnen

Met Lakeflow-pijplijnen kunt u Spark-eigenschappen configureren voor een pijplijn, voor één rekenresource die is geconfigureerd voor een pijplijn, of voor afzonderlijke stromen, gerealiseerde weergaven of streamingtabellen.

U kunt pijplijn- en reken-Spark-eigenschappen instellen met behulp van de gebruikersinterface of JSON. Zie Pijplijnen configureren.

Gebruik de spark_conf optie in de decoratorfuncties van Lakeflow-pijplijnen om Spark-eigenschappen voor stromen, weergaven of tabellen te configureren. Zie de Python-taalnaslaggids voor Lakeflow-pijplijnen.

Spark-eigenschappen configureren voor serverloze notebooks en taken

Serverloos computing biedt geen ondersteuning voor het instellen van de meeste Spark-eigenschappen voor notebooks of jobs. Hier volgen de eigenschappen die u kunt configureren:

Eigenschap Verstek Beschrijving
spark.databricks.execution.timeout 9000 (alleen van toepassing op notebooks) De time-out voor uitvoering, in seconden, voor Spark Connect-query's. De standaardwaarde is alleen van toepassing op notebookquery's. Werkruimtebeheerders kunnen de standaardinstelling voor serverloze notebooks wijzigen in de instellingen van de werkruimtebeheerder. Zie serverless-bescherming tegen te hoge uitgaven. Voor taken die worden uitgevoerd op serverloze berekeningen (en taken die worden uitgevoerd op klassieke standaard compute), is er geen time-out, tenzij deze eigenschap is ingesteld.
spark.sql.legacy.timeParserPolicy CORRECTED Het tijdparserbeleid.
spark.sql.session.timeZone Etc/UTC De ID van de lokale tijdzone van de sessie in de indeling van zone-ID's gebaseerd op regio's of zone-offsets.
spark.sql.shuffle.partitions auto Het standaardaantal partities dat moet worden gebruikt bij het opsnipperen van gegevens voor joins of aggregaties.
spark.sql.ansi.enabled true Wanneer waar, gebruikt Spark SQL een ANSI-compatibel dialect in plaats van hive-compatibel te zijn.
spark.sql.files.maxPartitionBytes 134217728 (128 MB) Het maximum aantal bytes dat in één partitie moet worden verpakt bij het lezen van bestanden.

Niet-ondersteunde Spark-eigenschappen

De volgende Spark-configuratie-eigenschappen worden niet ondersteund in Azure Databricks. Niet-ondersteunde Spark-eigenschappen worden genegeerd door Azure Databricks of kunnen conflicten en fouten veroorzaken wanneer deze gelijktijdig worden gebruikt met Azure Databricks functies. Als u workloads naar Azure Databricks migreert, vervangt u niet-ondersteunde eigenschappen door de aanbevolen alternatieven.

Note

Naast de hier vermelde eigenschappen beperkt de standaardtoegangsmodus voor Databricks Runtime 19 en hoger bepaalde Spark-configuratie-eigenschappen. Het maken of bewerken van een cluster waarmee een beperkte eigenschap wordt ingesteld, mislukt met een fout. Zie beperkingen voor Spark-configuratie.

Niet-ondersteunde Spark-eigenschappen Van toepassing op: Alternatief voor Databricks
spark.dynamicAllocation.enabled
spark.dynamicAllocation.initialExecutors
spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors
spark.dynamicAllocation.executorIdleTimeout
Klassieke rekenkracht Configureer in plaats daarvan Azure Databricks automatisch schalen, waarmee de levenscyclus van de uitvoerders op platformniveau wordt beheerd. Zie automatisch schalen inschakelen.
spark.master
spark.driver.host
spark.driver.port
Serverloze compute- en Lakeflow-pijplijnen De Azure Databricks serverloze infrastructuur beheert deze interne verbindingseigenschappen automatisch. Ze kunnen niet worden ingesteld door gebruikers. Als u deze instelt op serverloze compute- of Lakeflow-pijplijnen, treedt er een fout op.
spark.jars Serverloze compute- en Lakeflow-pijplijnen Azure Databricks biedt geen ondersteuning voor het koppelen van JAR's aan serverloze compute- of Lakeflow-pijplijnen met behulp van Spark-configuraties, maar u kunt serverloze JAR-taken uitvoeren. Zie Omgeving configureren voor taaktaken.
spark.databricks.runtimeoptions.* Klassieke rekenkracht Gebruik in plaats daarvan het runtime_options kenmerk in de clusterconfiguratie. Runtime-opties kunnen niet worden ingesteld als Spark-configuratie voor elk clustertype. Als u deze probeert in te stellen met behulp van Spark-configuraties, treedt er een fout op.

de huidige instelling voor een Spark-configuratie ophalen

Gebruik de volgende syntaxis om de huidige instelling van een Spark-configuratie te controleren:

spark.conf.get("configuration_name")