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.
En este artículo se describe cómo usar el escalado automático mejorado para optimizar las canalizaciones en Azure Databricks.
El escalado automático mejorado está habilitado de forma predeterminada para todas las canalizaciones nuevas. Las canalizaciones sin servidor también usan el escalado automático vertical. Consulte ¿Qué es el escalado automático vertical?.
En el caso de las canalizaciones sin servidor, el escalado automático mejorado siempre está activado y no se puede deshabilitar. Consulte Configuración de una canalización sin servidor.
¿Qué es el escalado automático mejorado?
La escalabilidad automática mejorada de Databricks optimiza el uso del clúster mediante la asignación automática de los recursos de clúster en función del volumen de la carga de trabajo, con un impacto mínimo en la latencia del procesamiento de datos de las canalizaciones.
El escalado automático mejorado mejora la funcionalidad de escalado automático del clúster de Azure Databricks con las siguientes características:
- El escalado automático mejorado implementa la optimización de las cargas de trabajo de streaming y agrega mejoras para mejorar el rendimiento de las cargas de trabajo por lotes. El escalado automático mejorado optimiza los costos agregando o quitando máquinas a medida que cambia la carga de trabajo.
- El escalado automático mejorado apaga de forma proactiva los nodos infrautilizados, a la vez que garantiza que no hay tareas erróneas durante el apagado. La característica de escalado automático de clústeres existente reduce verticalmente los nodos solo si el nodo está inactivo.
El escalado automático mejorado es el modo de escalado automático predeterminado al crear una nueva canalización en la interfaz de usuario de canalizaciones. Puede habilitar el escalado automático mejorado para las canalizaciones existentes editando la configuración de canalización en la interfaz de usuario. También puede habilitar el escalado automático mejorado al crear o editar canalizaciones con la API REST de canalizaciones.
¿Qué métricas usa el escalado automático mejorado para tomar una decisión de aumentar o disminuir la escala?
El escalado automático mejorado utiliza dos métricas para decidir si aumentar o disminuir la capacidad.
- Uso de ranuras de tareas: esta es la proporción media del número de ranuras de tareas ocupadas con el total de ranuras de tareas disponibles en el clúster.
- Tamaño de cola de tareas: este es el número de tareas en espera para ejecutarse en las ranuras de tareas.
Habilitación del escalado automático mejorado para una canalización
El escalado automático mejorado es el modo de escalado automático predeterminado al crear una nueva canalización en la interfaz de usuario de canalizaciones. Puede habilitar el escalado automático mejorado para las canalizaciones existentes editando la configuración de canalización en la interfaz de usuario. También puede habilitar el escalado automático mejorado al editar una canalización con el Editor de canalizaciones de Lakeflow.
Para usar el escalado automático mejorado, realice una de las acciones siguientes:
- Establezca el modo de clúster en Escalado automático mejorado al editar la configuración de canalización en el Editor de canalizaciones de Lakeflow.
- Agregue la configuración
autoscaleal clúster de tubería y establezca el campomodeenENHANCED. Consulte Configurar el cálculo clásico para canalizaciones.
Use las instrucciones siguientes al configurar el escalado automático mejorado para canalizaciones de producción:
- Deje la configuración
Min workersen el valor predeterminado. - Configure el ajuste
Max workersa un valor basado en el presupuesto y prioridad del proyecto.
En el ejemplo siguiente se configura un clúster de escalado automático mejorado con un mínimo de 5 trabajos y un máximo de 10 trabajos.
max_workers debe ser mayor o igual que min_workers.
Nota:
- El escalado automático mejorado solo está disponible para
updatesclústeres. Se utiliza el escalado automático heredado para los clústeres demaintenance. - La configuración
autoscaletiene dos modos:-
LEGACY: Use el escalado automático del clúster. -
ENHANCED: Utilice el escalado automático mejorado.
-
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
Si la canalización está configurada para la ejecución continua, se reiniciará automáticamente después de que cambie la configuración de escalado automático. Después del reinicio, espere un breve período de mayor latencia. Después de este breve período de mayor latencia, el tamaño del clúster debe actualizarse basado en la configuración de autoscale, y la latencia de la canalización debe volver a sus características de latencia anteriores.
Limitación de los costes para las canalizaciones que usan el escalado automático mejorado
Nota:
No se pueden configurar trabajadores para canalizaciones sin servidor.
Al establecer el parámetro Max workers en el panel Cómputo de canalizaciones, se establece un límite superior para el escalado automático. Reducir el número de trabajadores disponibles puede aumentar la latencia de algunas cargas de trabajo, pero evita que los costos de recursos de computación se disparen durante las operaciones intensivas en computación.
Databricks recomienda ajustar la configuración de trabajadores máximos para equilibrar el costo y la latencia según sus necesidades específicas.
Supervisión del escalado automático mejorado habilitado para canalizaciones clásicas
Puede usar el registro de eventos en la interfaz de usuario de la canalización para supervisar las métricas de escalado automático mejoradas para canalizaciones clásicas. Los eventos de escalado automático mejorado tienen el tipo de evento autoscale. A continuación, se muestran eventos de ejemplo:
| Event | Message |
|---|---|
| Se ha iniciado la solicitud de cambio de tamaño del clúster | Scaling [up or down] to <y> executors from current cluster size of <x> |
| La solicitud de cambio de tamaño del clúster es correcta | Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED |
| La solicitud de cambio de tamaño del clúster es parcialmente correcta | Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED |
| Se produjo un error en la solicitud de cambio de tamaño del clúster | Achieved cluster size <x> for cluster <cluster-id> with status FAILED |
También puede ver eventos de escalado automático mejorados consultando directamente el registro de eventos:
- Para consultar el registro de eventos en busca de métricas de trabajo pendiente, consulte Supervisar el retraso en los datos para optimizar la duración del streaming.
- Para supervisar las solicitudes y respuestas de redimensionamiento del clúster durante las operaciones de escalado automático mejoradas, consulte Supervisión de eventos de escalado automático para optimizar el cómputo clásico.
¿Qué es el escalado automático vertical?
Las pipelines serverless se suman al autoescalado horizontal proporcionado por el autoescalado mejorado de Databricks, asignando automáticamente los tipos de instancia más rentables que pueden ejecutar tu pipeline sin fallar debido a errores por falta de memoria. El escalado automático vertical aumenta verticalmente cuando se requieren tipos de instancia más grandes para ejecutar una actualización de canalización y también se reduce verticalmente cuando determina que la actualización se puede ejecutar con tipos de instancia más pequeños. El escalado automático vertical determina si los nodos de controlador, los nodos de trabajo o ambos se deben aumentar o reducir verticalmente.
El escalado automático vertical se usa para todas las canalizaciones sin servidor, incluidas las canalizaciones que usa Databricks SQL, vistas materializadas y tablas de transmisión.
El escalado automático vertical funciona mediante la detección de actualizaciones de canalización que han fallado debido a errores de memoria insuficiente. El escalado automático vertical asigna tipos de instancia más grandes cuando se detectan estos errores en función de los datos de memoria insuficiente recopilados de la actualización con errores. En el modo de producción, se inicia automáticamente una nueva actualización que usa los nuevos recursos de proceso. En el modo de desarrollo, los nuevos recursos de proceso se usan al iniciar manualmente una nueva actualización.
Si el escalado automático vertical detecta que la memoria de las instancias asignadas está subutilizada de forma coherente, reducirá verticalmente los tipos de instancia que se usarán en la siguiente actualización de canalización.