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

Configure as propriedades Spark para o pipeline declarativo LakeFlow Spark

O pipeline declarativo LakeFlow Spark permite configurar propriedades Spark para um pipeline, para um recurso compute configurado para um pipeline ou para fluxos individuais, visualizações materializadas ou tabelas de transmissão.

Você pode definir as propriedades pipeline e Spark compute usando a interface do usuário ou JSON. Consulte Configurar pipeline.

Use a opção spark_conf nas funções de decoração do pipeline declarativo do LakeFlow Spark para configurar propriedades Spark para fluxos, visualizações ou tabelas. Consulte a referência da linguagem Python para o pipeline declarativo doLakeFlow Spark.

Configurar as propriedades do Spark para o serverless Notebook e Job

compute sem servidor não suporta a configuração da maioria das propriedades 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 (aplicável somente ao Notebook)

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

spark.sql.legacy.timeParserPolicy

CORRECTED

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.

spark.sql.files.maxPartitionBytes

134217728 (128 MB)

O número máximo de bytes a serem compactados em uma única partição ao ler arquivos.

Propriedades do Spark não suportadas

As seguintes propriedades de configuração do Spark não são suportadas no Databricks. Propriedades Spark não suportadas são ignoradas pelo Databricks ou podem causar conflitos e falhas quando usadas simultaneamente com recursos Databricks . Se você estiver migrando cargas de trabalho para o Databricks, substitua as propriedades não suportadas pelas alternativas recomendadas.

Propriedades do Spark não suportadas

Aplica-se a

Alternativa ao Databricks

spark.dynamicAllocation.enabled

spark.dynamicAllocation.initialExecutors

spark.dynamicAllocation.minExecutors

spark.dynamicAllocation.maxExecutors

spark.dynamicAllocation.executorIdleTimeout

computeclássica

Configure o escalonamento automático Databricks , que gerencia o ciclo de vida executor no nível da plataforma. Consulte Ativar dimensionamento automático.

spark.master

spark.driver.host

spark.driver.port

compute sem servidor e pipeline declarativo LakeFlow Spark

A infraestrutura serverless Databricks gerencia essas propriedades de conexão interna automaticamente. Eles não podem ser definidos pelos usuários. Configurar esses parâmetros em compute serverless ou em um pipeline declarativo LakeFlow Spark resulta em um erro.

spark.jars

compute sem servidor e pipeline declarativo LakeFlow Spark

Databricks não oferece suporte à vinculação de arquivos JAR a compute serverless ou pipelines declarativos LakeFlow Spark usando configurações Spark , mas você pode executar tarefas JAR serverless . Consulte Configurar ambiente para tarefa de trabalho.

spark.databricks.runtimeoptions.*

computeclássica

Em vez disso, use o atributo runtime_options na configuração do cluster. As opções Runtime não podem ser definidas como configuração Spark em nenhum tipo cluster . A tentativa de configurar esses parâmetros usando as configurações do Spark resulta em um erro.

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