Partilhar via


Definir propriedades de configuração do Spark no Azure Databricks

Você pode definir as propriedades de configuração do Spark (confs do Spark) para personalizar as configurações em seu ambiente de computação.

O Databricks geralmente não recomenda a configuração da maioria das propriedades do Spark. Especialmente ao migrar do Apache Spark de código aberto ou atualizar versões do Databricks Runtime, as configurações herdadas do Spark podem substituir novos comportamentos padrão que otimizam cargas de trabalho.

Para muitos comportamentos controlados pelas propriedades do Spark, o Azure Databricks também fornece opções para habilitar o comportamento em um nível de tabela ou para configurar o comportamento personalizado como parte de uma operação de gravação. Por exemplo, a evolução do esquema era anteriormente controlada por uma propriedade Spark, mas agora tem cobertura em SQL, Python e Scala. Consulte a sintaxe de evolução do esquema para fundir.

Configurar propriedades do Spark para blocos de anotações e trabalhos

Você pode definir propriedades do Spark para blocos de anotações e trabalhos. O escopo da configuração depende de como você a definiu.

Propriedades configuradas: Aplica-se a:
Usando a configuração de computação Todos os blocos de anotações e trabalhos são executados com o recurso de computação.
Dentro de um caderno Apenas o SparkSession para o bloco de notas atual.

Para obter instruções sobre como configurar as propriedades do Spark no nível de computação, consulte Configuração do Spark.

Para definir uma propriedade Spark em um bloco de anotações, use a seguinte sintaxe:

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

Configurar propriedades do Spark no Databricks SQL

O Databricks SQL permite que os administradores configurem as propriedades do Spark para acesso a dados no menu de configurações do espaço de trabalho. Consulte Habilitar configuração de acesso a dados

Além das configurações de acesso a dados, o Databricks SQL permite apenas um punhado de confs do Spark, que foram aliados para nomes mais curtos para simplificar. Consulte Parâmetros de configuração.

Para a maioria das configurações SQL com suporte, você pode substituir o comportamento global em sua sessão atual. O exemplo a seguir desativa o modo ANSI:

SET ANSI_MODE = false

Configurar as propriedades do Spark para os pipelines do Delta Live Tables

O Delta Live Tables permite configurar as propriedades do Spark para um pipeline, para um recurso de computação configurado para um pipeline ou para fluxos individuais, exibições materializadas ou tabelas de streaming.

Você pode definir propriedades de pipeline e calcular o Spark usando a interface do usuário ou JSON. Consulte Configurar um pipeline Delta Live Tables.

Use a opção spark_conf nas funções do decorador DLT para configurar as propriedades do Spark para fluxos, exibições ou tabelas. Consulte as propriedades do Delta Live Tables do Python .

Configurar propriedades do Spark para blocos de anotações e trabalhos sem servidor

A computação Severless não suporta a configuração da maioria das propriedades do Spark para blocos de anotações ou trabalhos. A seguir estão as propriedades que você pode configurar:

Propriedade Predefinição Descrição
spark.databricks.execution.timeout 9000 O tempo limite de execução, em segundos, para consultas do Spark Connect. O valor predefinido só é aplicável para notebooks executados em serverless. Para trabalhos executados em computação sem servidor e clusters compartilhados, não há tempo limite a menos que essa propriedade esteja definida.
spark.sql.legacy.timeParserPolicy EXCEPTION A política do analisador de tempo.
spark.sql.session.timeZone Etc/UTC A ID do fuso horário local da sessão no formato de IDs de zona baseados em região ou deslocamentos de zona.
spark.sql.shuffle.partitions auto O número padrão de partições usadas ao processar dados para junções ou agregações.
spark.sql.ansi.enabled true Quando verdadeiro, o Spark SQL usa um dialeto compatível com ANSI em vez de ser compatível com Hive.