Compartir a través de


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 campo mode en ENHANCED. 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 para maintenance clústeres.
  • La configuración autoscale tiene dos modos:
{
  "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.

El panel Proceso de la interfaz de usuario de canalizaciones, donde puede establecer los trabajos máximos para el escalado automático.

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: