Condividi tramite


Impostare le proprietà di configurazione di Spark in Azure Databricks

È possibile impostare le proprietà di configurazione di Spark (Spark confs) per personalizzare le impostazioni nell'ambiente di calcolo.

Databricks sconsiglia in genere di configurare la maggior parte delle proprietà Spark. In particolare quando si esegue la migrazione da Apache Spark open source o si aggiornano le versioni di Databricks Runtime, le configurazioni Spark legacy possono eseguire l'override di nuovi comportamenti predefiniti che ottimizzano i carichi di lavoro.

Per molti comportamenti controllati dalle proprietà spark, Azure Databricks offre anche opzioni per abilitare il comportamento a livello di tabella o per configurare il comportamento personalizzato come parte di un'operazione di scrittura. Ad esempio, l'evoluzione dello schema è stata precedentemente controllata da una proprietà Spark, ma ora ha copertura in SQL, Python e Scala. Consultare la sintassi dell'evoluzione dello schema per l'unione.

Configurare le proprietà di Spark per notebook e lavori

È possibile impostare le proprietà di Spark per notebook e processi. L'ambito della configurazione dipende dalla modalità di impostazione.

Proprietà configurate: Si applica a:
Uso della configurazione di calcolo Tutti i notebook e i processi vengono eseguiti con la risorsa di calcolo.
All'interno di un notebook Solo SparkSession per il notebook corrente.

Per istruzioni sulla configurazione delle proprietà Spark a livello di calcolo, vedere Configurazione di Spark.

Per impostare una proprietà Spark in un notebook, usare la sintassi seguente:

SQL

SET spark.sql.ansi.enabled = true

Pitone

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

Linguaggio di programmazione Scala

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

Configurare le proprietà di Spark in Databricks SQL

Databricks SQL consente agli amministratori di configurare le proprietà spark per l'accesso ai dati nel menu delle impostazioni dell'area di lavoro. Vedere Configurazioni di accesso ai dati

Oltre alle configurazioni di accesso ai dati, Databricks SQL consente solo una manciata di file confs Spark, che sono stati aliasati per nomi più brevi per semplicità. Vedere Parametri di configurazione.

Per le configurazioni SQL più supportate, è possibile eseguire l'override del comportamento globale nella sessione corrente. L'esempio seguente disattiva la modalità ANSI:

SET ANSI_MODE = false

Configurare le proprietà Spark per le pipeline dichiarative di Lakeflow

Le pipeline dichiarative di Lakeflow consentono di configurare le proprietà Spark per una pipeline, per una risorsa di calcolo configurata per una pipeline o per singoli flussi, viste materializzate o tabelle di streaming.

È possibile impostare le proprietà della pipeline e di calcolo di Spark usando l'interfaccia utente o JSON. Vedere Configurare le pipeline dichiarative di Lakeflow.

Usare l'opzione spark_conf nelle funzioni decoratrici delle Pipeline dichiarative di Lakeflow per configurare le proprietà Spark per flussi, viste o tabelle. Vedere Informazioni di riferimento sul linguaggio Python per le pipeline dichiarative di Lakeflow.

Configurare le proprietà di Spark per notebook e job serverless

L'ambiente di calcolo senza server non supporta la configurazione della maggior parte delle proprietà Spark per taccuini o attività. Di seguito sono riportate le proprietà che è possibile configurare:

Proprietà Predefinito Descrizione
spark.databricks.execution.timeout 9000 Timeout di esecuzione, in secondi, per le query di Spark Connect. Il valore predefinito è applicabile solo per i notebook in esecuzione nell'ambito di calcolo serverless. Per i processi in esecuzione su calcolo serverless e su calcolo con modalità di accesso standard, non è previsto alcun timeout a meno che questa proprietà non sia impostata.
spark.sql.legacy.timeParserPolicy CORRECTED Politica del parser dell'ora.
spark.sql.session.timeZone Etc/UTC ID del fuso orario locale della sessione nel formato di ID di zona o di offset di zona basati sull'area.
spark.sql.shuffle.partitions auto Numero predefinito di partizioni da usare per il rimescolamento dei dati per join o aggregazioni.
spark.sql.ansi.enabled true Quando è vero, Spark SQL utilizza un dialetto conforme ANSI anziché essere conforme a Hive.

Ottenere l'impostazione corrente per una configurazione di Spark

Usare la sintassi seguente per esaminare l'impostazione corrente di una configurazione di Spark:

spark.conf.get("configuration_name")