Pular para o conteúdo principal

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

O senhor pode definir as propriedades de configuração do Spark (Spark confs) para personalizar as configurações em seu ambiente compute.

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

Para muitos comportamentos controlados pelas propriedades do Spark, o Databricks também oferece opções para ativar o comportamento em 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 controlada anteriormente por uma propriedade do Spark, mas agora tem cobertura em SQL, Python e Scala. Consulte a sintaxe da evolução do esquema para merge.

Configurar as propriedades do Spark para o Notebook e o Job

O senhor pode definir as propriedades do Spark para o Notebook e o Job. O escopo da configuração depende de como você a configura.

Propriedades configuradas:

Aplica-se a:

Usando a configuração compute

Execução de todos os notebooks e trabalhos com o recurso compute.

Em um notebook

Somente o site SparkSession do Notebook atual.

Para obter instruções sobre como configurar as propriedades do site Spark no nível compute, consulte Spark configuration.

Para definir uma propriedade Spark em um Notebook, use a seguinte sintaxe:

SQL
SET spark.sql.ansi.enabled = true

Configurar as propriedades do Spark no Databricks SQL

Databricks SQL permite que os administradores configurem as propriedades do Spark para acesso aos dados no menu de configurações do workspace. Consulte as configurações de acesso a dados

Além das configurações de acesso a dados, o site Databricks SQL permite apenas algumas configurações de Spark, que foram apelidadas com nomes mais curtos para simplificar. Consulte Parâmetros de configuração.

Para a maioria das configurações de SQL suportadas, o senhor pode substituir o comportamento global na sessão atual. O exemplo a seguir desativa o modo ANSI:

SQL
SET ANSI_MODE = false

Configurar as propriedades do site Spark para o pipeline DLT

O DLT permite que o senhor configure as propriedades do Spark para um pipeline, para um compute recurso configurado para um pipeline, ou para fluxos individuais, visualização materializada ou tabelas de transmissão.

O senhor pode definir as propriedades pipeline e compute Spark usando a interface do usuário ou JSON. Consulte Configurar um pipeline DLT.

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

Configurar as propriedades do Spark para o serverless Notebook e Job

O Severless compute não suporta a configuração da maioria das propriedades do Spark para Notebook ou Job. A seguir estão as propriedades que você pode configurar:

Propriedade

Padrão

Descrição

spark.databricks.execution.timeout

9000

O tempo limite de execução, em segundos, para as consultas do Spark Connect. O valor default só se aplica ao Notebook executado em serverless compute. Para trabalhos executados em serverless compute e compute com modo de acesso padrão, não há tempo limite, a menos que essa propriedade seja definida.

spark.sql.legacy.timeParserPolicy

EXCEPTION

A política do analisador de tempo.

spark.sql.session.timeZone

Etc/UTC

O ID do fuso horário local da sessão no formato de IDs de zona com base na região ou de deslocamentos de zona.

spark.sql.shuffle.partitions

auto

O número default de partições a serem usadas ao embaralhar 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.

Obter a configuração atual de uma configuração do Spark

Use a seguinte sintaxe para revisar a definição atual de uma configuração do Spark:

Python
spark.conf.get("configuration_name")