Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Autotune ajusta automáticamente las configuraciones de Apache Spark para reducir el tiempo de ejecución de la carga de trabajo y mejorar el rendimiento. Ayuda a evitar el ajuste manual, que normalmente requiere una prueba y un error repetidos. Autotune usa datos de ejecución históricos de las cargas de trabajo para detectar y aplicar una configuración eficaz para cada carga de trabajo de forma iterativa.
Nota:
El ajuste automático de consultas en Microsoft Fabric está actualmente en versión de vista previa. Está disponible en todas las regiones de producción, pero está deshabilitada de forma predeterminada. Habilítelo en la configuración del entorno de Spark o para una sola sesión en el notebook o el código de la definición de trabajo de Spark.
Requisitos y valores predeterminados de configuración
- Comportamiento predeterminado: Autotune está desactivado de forma predeterminada.
- No es necesario configurarlo cuando está desactivado: si no habilita autotune, Spark usa su comportamiento de configuración estándar.
- Configuración necesaria para usar autotune: establezca ya sea:
- En el nivel de entorno, por lo que todos los cuadernos y trabajos que usan ese entorno heredan la configuración. Consulte Habilitación del ajuste automático.
- Solo en un cuaderno o en una sesión de definición de trabajo de Spark. Consulte Habilitación del ajuste automático para una sola sesión.
Ajuste de consultas
Autotune ajusta estas tres configuraciones de Apache Spark para cada consulta:
- : establece el recuento de particiones para el orden aleatorio de datos durante combinaciones o agregaciones. El valor predeterminado es .
- Establece el tamaño máximo de la tabla, en bytes, para difundir a los nodos de trabajo durante una unión. El valor predeterminado es .
- : establece el número máximo de bytes que se empaquetan en una partición al leer archivos. Se aplica a los orígenes de archivos Parquet, JSON y ORC. El valor predeterminado es .
El ajuste de consultas de Autotune examina cada consulta y crea un modelo independiente de aprendizaje automático para esa consulta. Funciona mejor para:
- Consultas repetitivas
- Consultas de larga duración (más de 15 segundos)
- Consultas de API de SQL de Apache Spark (no API de RDD)
Puede usar el ajuste automático con cuadernos, definiciones de trabajos de Spark y canalizaciones. La ventaja varía según la complejidad de las consultas y la forma de los datos. En las pruebas, las mayores ganancias aparecen en patrones de análisis de datos exploratorios, como lecturas, combinaciones, agregaciones y ordenaciones.
Captura de pantalla del tiempo de ejecución con autotune habilitado.
Cómo funciona el autotune
Autotune usa un bucle de optimización iterativo:
- Comience desde los valores de configuración predeterminados de Spark.
- Genere configuraciones candidatas alrededor de una línea base (centroide).
- Predice el mejor candidato usando un modelo entrenado en ejecuciones anteriores.
- Aplique el candidato y ejecute la consulta.
- Introduzca los resultados de la ejecución en el modelo.
Con el tiempo, la línea base cambia hacia una mejor configuración, al tiempo que reduce el riesgo de regresión. El uso de todos los puntos de datos recopilados también ayuda a reducir el efecto de las anomalías.
Habilitación del ajuste automático
Autotune está disponible en todas las regiones de producción, pero está deshabilitada de forma predeterminada. Para habilitarla en el nivel de entorno, establezca la propiedad Spark en un entorno nuevo o existente. Todos los cuadernos y trabajos que usan ese entorno heredan la configuración.
Captura de pantalla de cómo habilitar el ajuste automático.
Autotune incluye la detección de regresión integrada. Por ejemplo, si una consulta procesa una cantidad inusualmente grande de datos, autotune puede omitir el ajuste para esa ejecución. En muchos escenarios, autotune necesita aproximadamente de 20 a 25 iteraciones para converger en una configuración segura.
Nota:
Autotune es compatible con Runtime 1.2. No se puede habilitar en versiones en tiempo de ejecución posteriores a la 1.2. No se ejecuta cuando está habilitado el modo de simultaneidad alta o el punto de conexión privado . Autotune funciona con el escalado automático en cualquier configuración de escalado automático.
También puede habilitar 'autotune' para una sola sesión configurando la propiedad Spark en su notebook o en la definición de tarea de Spark.
Habilitación del ajuste automático para una sola sesión
- Spark SQL
- PySpark
- Scala Spark
- SparkR
%%sql
SET spark.ms.autotune.enabled=TRUE
Desactiva el ajuste automático para una sola sesión
Para deshabilitar el ajuste automático en un cuaderno o en una definición de trabajo de Spark, ejecute uno de los siguientes comandos como la primera celda o la primera línea de código.
- Spark SQL
- PySpark
- Scala Spark
- SparkR
%%sql
SET spark.ms.autotune.enabled=FALSE
Caso práctico
Al ejecutar una consulta de Apache Spark, autotune compila un modelo para esa forma de consulta y aprende la mejor configuración a lo largo del tiempo. Por ejemplo, comience con esta consulta de filtro:
%%pyspark
df.filter(df.country == "country-A")
Autotune aprende de esta ejecución del programa. Si más adelante cambia solo el valor de filtro, la forma de consulta sigue siendo similar:
%%pyspark
df.filter(df.country == "country-B")
Autotune puede reutilizar los aprendizajes anteriores para este patrón de consulta similar, lo que ayuda a mantener el rendimiento sin ajustar manualmente.
Registros
Para cada consulta, autotune calcula los valores recomendados para las tres configuraciones de Spark admitidas. Para inspeccionar las recomendaciones, revise los registros de logs de controlador de las entradas que comienzan por [Autotune].
Captura de pantalla de los registros de autotuning en el Centro de Supervisión.
Entre los estados de registro comunes se incluyen los siguientes:
| Estado | Descripción |
|---|---|
AUTOTUNE_DISABLED |
Omitido Autotune está deshabilitado, por lo que no se aplican la recopilación y optimización de telemetría. |
QUERY_TUNING_DISABLED |
Se omite. El ajuste de consultas está deshabilitado. |
QUERY_PATTERN_NOT_MATCH |
Omitido El patrón de consulta no coincide con los tipos de consulta de solo lectura admitidos. |
QUERY_DURATION_TOO_SHORT |
Se omite. La consulta se ejecutó durante menos de quince segundos, lo que resulta demasiado breve para una optimización eficaz. |
QUERY_TUNING_SUCCEED |
Éxito Se completó la optimización de consultas y se aplicó la configuración de Spark optimizada. |
Nota de transparencia
En consonancia con la Norma de IA Responsable, en esta sección se explica cómo se usa y valida el autotuning.
Propósito del ajuste automático
Autotune está diseñado para mejorar la eficiencia de la carga de trabajo de Apache Spark para profesionales de datos. Este:
- Ajusta automáticamente las configuraciones de Apache Spark para reducir el tiempo de ejecución.
- Reduce el esfuerzo de ajuste manual.
- Usa datos históricos de carga de trabajo para refinar de forma iterativa las opciones de configuración.
Validación del ajuste automático
Autotune se somete a una validación exhaustiva para ayudar a garantizar la eficacia y la seguridad:
- Usa pruebas rigurosas en diversas cargas de trabajo de Spark para comprobar la eficacia del algoritmo de optimización.
- Pruebas comparativas con métodos de optimización estándar de Spark para demostrar las ventajas de rendimiento.
- Incluye estudios de casos reales para mostrar valor práctico.
- Sigue estrictos estándares de seguridad y privacidad para proteger los datos de los usuarios.
Los datos de usuario se usan exclusivamente para mejorar el rendimiento de la carga de trabajo, con protecciones sólidas para evitar el uso indebido o la exposición de información confidencial.