Compartir a través de


Establecimiento de las propiedades de configuración de Spark en Azure Databricks

Puede establecer las propiedades de configuración de Spark (propiedades de configuración de Spark) para personalizar los ajustes en su entorno de computación.

Por lo general, Databricks recomienda no configurar la mayoría de las propiedades de Spark. Especialmente al migrar desde Apache Spark de código abierto o al actualizar versiones de Databricks Runtime, las configuraciones heredadas de Spark pueden invalidar nuevos comportamientos predeterminados que optimizan las cargas de trabajo.

Para muchos comportamientos controlados por las propiedades de Spark, Azure Databricks también proporciona opciones para habilitar el comportamiento en un nivel de tabla o para configurar el comportamiento personalizado como parte de una operación de escritura. Por ejemplo, la evolución del esquema se controló previamente mediante una propiedad spark, pero ahora tiene cobertura en SQL, Python y Scala. Consulte Sintaxis de evolución del esquema para la combinación.

Configuración de las propiedades de Spark para cuadernos y trabajos

Puede establecer las propiedades de Spark para cuadernos y trabajos. El ámbito de la configuración depende de cómo lo establezca.

Propiedades configuradas Se aplica a
Uso de la configuración del cómputo Todos los cuadernos y trabajos utilizan el recurso de computación.
Dentro de un cuaderno Solo SparkSession para el cuaderno actual.

Para obtener instrucciones sobre cómo configurar las propiedades de Spark en el nivel de proceso, consulte Configuración de Spark.

Para establecer una propiedad de Spark en un cuaderno, use la sintaxis siguiente:

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

Configuración de las propiedades de Spark en Databricks SQL

Databricks SQL permite a los administradores configurar las propiedades de Spark para el acceso a datos en el menú de configuración del área de trabajo. Consulte Configuraciones de acceso a datos

Aparte de las configuraciones de acceso a datos, Databricks SQL solo permite una serie de configuraciones de Spark, que tienen nombres más cortos para simplificar. Vea Parámetros de configuración.

Para la mayoría de las configuraciones de SQL admitidas, puede sobrescribir el comportamiento global en su sesión actual. En el ejemplo siguiente se desactiva el modo ANSI:

SET ANSI_MODE = false

Configuración de las propiedades de Spark para canalizaciones declarativas de Spark de Lakeflow

Las canalizaciones declarativas de Spark de Lakeflow permiten configurar las propiedades de Spark para una canalización, para un recurso de proceso configurado para una canalización o para flujos individuales, vistas materializadas o tablas de streaming.

Puede establecer propiedades de Spark de canalización y proceso mediante la interfaz de usuario o JSON. Consulte Configuración de canalizaciones.

Utilice la opción spark_conf en las funciones de decorador de canalizaciones declarativas de Lakeflow Spark para configurar las propiedades de Spark para flujos, vistas o tablas. Consulte Lakeflow Spark Declarative Pipelines Python language reference.

Configuración de las propiedades de Spark para cuadernos y trabajos sin servidor

La computación sin servidor no admite la configuración de la mayoría de las propiedades de Spark para cuadernos o trabajos. A continuación se muestran las propiedades que puede configurar:

Propiedad Predeterminado Descripción
spark.databricks.execution.timeout 9000 (solo se aplica a los cuadernos) Tiempo de espera de ejecución, en segundos, para las consultas de Spark Connect. El valor predeterminado solo es aplicable a las consultas de bloc de notas. En el caso de los trabajos que se ejecutan en un proceso sin servidor (y los trabajos que se ejecutan en el proceso estándar clásico), no se agota el tiempo de espera a menos que se establezca esta propiedad.
spark.sql.legacy.timeParserPolicy CORRECTED Directiva del analizador de tiempo.
spark.sql.session.timeZone Etc/UTC Identificador de la zona horaria local de sesión en formato de identificadores de zona basados en la región o en desplazamientos de zona.
spark.sql.shuffle.partitions auto Número predeterminado de particiones que se van a usar al ordenar aleatoriamente datos para combinaciones o agregaciones.
spark.sql.ansi.enabled true Cuando es true, Spark SQL usa un dialecto compatible con ANSI en lugar de ser compatible con Hive.
spark.sql.files.maxPartitionBytes 134217728 (128 MB) Número máximo de bytes que se van a empaquetar en una sola partición al leer archivos.

Propiedades de Spark no admitidas

Las siguientes propiedades de configuración de Spark no se admiten en Azure Databricks. Las propiedades de Spark no admitidas se omiten por Azure Databricks o pueden provocar conflictos y errores cuando se usan simultáneamente con características de Azure Databricks. Si va a migrar cargas de trabajo a Azure Databricks, reemplace las propiedades no admitidas por las alternativas recomendadas.

Propiedades de Spark no admitidas Se aplica a Alternativa de Databricks
spark.dynamicAllocation.enabled
spark.dynamicAllocation.initialExecutors
spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors
spark.dynamicAllocation.executorIdleTimeout
Computación clásica Configura el autoscaleo de Azure Databricks en cambio, que gestiona el ciclo de vida de los ejecutores a nivel de plataforma. Consulte Habilitar el escalado automático.
spark.master
spark.driver.host
spark.driver.port
Canalizaciones declarativas de Spark, computación sin servidor y Lakeflow Spark La infraestructura Azure Databricks sin servidor administra automáticamente estas propiedades de conexión internas. Los usuarios no pueden establecerlo. Si se establecen en computación sin servidor o en canalizaciones declarativas de Lakeflow Spark, se produce un error.
spark.jars Canalizaciones declarativas de Spark, computación sin servidor y Lakeflow Spark Azure Databricks no admite la asociación de JAR a canalizaciones declarativas de Spark Lakeflow sin servidor mediante configuraciones de Spark, pero puede ejecutar tareas JAR sin servidor. Consulte Configuración del entorno para tareas de trabajo.
spark.databricks.runtimeoptions.* Computación clásica Use el runtime_options atributo en la configuración del clúster en su lugar. Las opciones en tiempo de ejecución no se pueden establecer como configuración de Spark en ningún tipo de clúster. Si intenta establecerlos mediante configuraciones de Spark, se produce un error.

Obtener el ajuste actual de una configuración de Spark

Use la sintaxis siguiente para revisar la configuración actual de una configuración de Spark:

spark.conf.get("configuration_name")