Compartir vía


Recomendaciones de optimización en Azure Databricks

Azure Databricks ofrece numerosas optimizaciones que soportan una variedad de cargas de trabajo en lakehouse, abarcando desde el procesamiento ETL a gran escala hasta consultas interactivas ad hoc. Muchas de estas optimizaciones tienen lugar automáticamente. Usted obtiene sus ventajas simplemente usando Azure Databricks. Además, la mayoría de las características de Databricks Runtime requieren Delta Lake, el formato predeterminado que se usa para crear tablas en Azure Databricks.

Azure Databricks configura valores predeterminados que optimizan la mayoría de las cargas de trabajo. Pero, en algunos casos, cambiar las opciones de configuración mejora el rendimiento.

Mejoras de rendimiento de Databricks Runtime

Nota:

Use la versión más reciente de Databricks Runtime para aprovechar las mejoras de rendimiento más recientes. Todos los comportamientos documentados aquí están habilitados de manera predeterminada en Databricks Runtime 10.4 LTS y versiones posteriores.

  • El almacenamiento en caché de disco acelera las lecturas repetidas en archivos de datos de Parquet mediante la carga de datos en volúmenes de disco conectados a clústeres de proceso.
  • La eliminación dinámica de archivos mejora el rendimiento de las consultas al omitir los directorios que no contienen archivos de datos que coinciden con predicados de consulta.
  • La combinación de baja mezcla reduce el número de archivos de datos reescritos por las operaciones de MERGE y reduce la necesidad de volver a ejecutar OPTIMIZE después de las combinaciones.
  • Apache Spark 3.0 introdujo la ejecución de consultas adaptables, que proporciona un rendimiento mejorado para muchas operaciones.

Recomendaciones de Databricks para mejorar el rendimiento

  • Puede clonar las tablas de Azure Databricks para realizar copias profundas o superficiales de conjuntos de datos de origen.
  • El optimizador basado en costos acelera el rendimiento de las consultas al aprovechar las estadísticas de las tablas.
  • Puede usar Spark SQL para interactuar con cadenas JSON sin analizar cadenas.
  • Las funciones de orden superior ofrecen un rendimiento integrado y optimizado para muchas operaciones que no tienen operadores comunes de Spark. Las funciones de orden superior brindan una ventaja de rendimiento frente a las funciones definidas por el usuario.
  • Azure Databricks proporciona una serie de operadores integrados y sintaxis especial para trabajar con tipos de datos complex, incluidas matrices, estructuras y cadenas JSON.
  • Puede ajustar manualmente la configuración de las uniones de rango. Consulte Optimización de la combinación de intervalos.

Comportamientos opcionales

  • Azure Databricks proporciona una garantía de aislamiento serializable de escritura de forma predeterminada; cambiar el nivel de aislamiento a serializable puede reducir el rendimiento de las operaciones simultáneas, pero puede ser necesario cuando se requiere aislamiento serializable de lectura.
  • Azure Databricks ha dejado de usar los índices de filtro bloom. En su lugar, use E/S predictiva o agrupación líquida.