Optimización del uso del clúster de canalizaciones de Delta Live Tables con escalado automático mejorado
En este artículo se describe cómo usar el escalado automático mejorado para optimizar las canalizaciones de Delta Live Tables en Azure Databricks.
El escalado automático mejorado está habilitado de forma predeterminada para todas las canalizaciones nuevas.
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 de Delta Live Tables 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 Delta Live Tables. 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 delta Live Tables API.
¿Qué métricas usa el escalado automático mejorado para tomar una decisión de escalado vertical o reducción vertical?
El escalado automático mejorado usa dos métricas para decidir cómo escalar o reducir verticalmente:
- 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 la cola de tareas: es el número de tareas que esperan ejecutarse en ranuras de tareas.
Habilitación del escalado automático mejorado para una canalización de Delta Live Tables
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 Delta Live Tables. 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 una canalización con delta Live Tables API.
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 crear o editar una canalización en la interfaz de usuario de Delta Live Tables.
- Agregue el valor de
autoscale
a la configuración del clúster de canalización y establezca el campomode
enENHANCED
. Consulte Configuración del proceso para una canalización de Delta Live Tables.
Use las instrucciones siguientes al configurar el escalado automático mejorado para canalizaciones de producción:
- Deje el valor predeterminado de
Min workers
. - Establezca
Max workers
en un valor que se base en el presupuesto y en la prioridad de la canalización.
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
updates
clústeres. El escalado automático heredado se usa paramaintenance
clústeres. - La configuración
autoscale
tiene dos modos:LEGACY
: use el escalado automático del clúster.ENHANCED
: use 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 en autoscale
función de la configuración y la latencia de canalización debe volver a sus características de latencia anteriores.
Limitar los costos de las canalizaciones que usan el escalado automático mejorado
Nota:
No se pueden configurar trabajos para canalizaciones sin servidor.
Al establecer el parámetro Max workers en el panel Proceso de canalizaciones, se establece un límite superior para el escalado automático. Reducir el número de trabajos disponibles puede aumentar la latencia de algunas cargas de trabajo, pero evita que los costos de recursos de proceso se expanda durante las operaciones de proceso intensivo.
Databricks recomienda ajustar la configuración De trabajos máximos para equilibrar el equilibrio entre costos y latencia para sus necesidades concretas.
Supervisión del escalado automático mejorado habilitado para canalizaciones clásicas
Puede usar el registro de eventos en la interfaz de usuario de Delta Live Tables para supervisar las métricas de escalado automático mejoradas de las canalizaciones clásicas. Los eventos de escalado automático mejorados tienen el tipo de autoscale
evento . A continuación, se muestran eventos de ejemplo:
Evento | 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 para obtener métricas de trabajo pendiente, consulte Supervisión del trabajo pendiente de datos consultando el registro de eventos.
- Para supervisar el cambio de tamaño de las solicitudes y respuestas del clúster durante las operaciones mejoradas de escalado automático, consulte Supervisión de eventos de escalado automático mejorados desde el registro de eventos para canalizaciones sin servidor habilitado.