Compartir a través de


Trabajos de Lakeflow

Lakeflow Jobs es una herramienta de automatización de flujos de trabajo en Azure Databricks, que proporciona orquestación para procesos de datos, para coordinar y ejecutar múltiples tareas dentro de un flujo de trabajo más amplio. Puede optimizar y programar la ejecución de tareas frecuentes y repetibles y administrar flujos de trabajo complejos.

En este artículo se introducen conceptos y opciones relacionados con la gestión de workloads de producción mediante Lakeflow Jobs.

¿Qué son los trabajos?

En Databricks, se usa un trabajo para programar y orquestar tareas en Databricks dentro de un flujo de trabajo. Los flujos de trabajo comunes de procesamiento de datos incluyen flujos de trabajo de ETL, ejecución de cuadernos y flujos de trabajo de aprendizaje automático (ML), así como la integración con sistemas externos, como dbt y Azure Data Factory (ADF).

Los trabajos constan de una o varias tareas y admiten lógica de flujo de control personalizado, como bifurcación (instrucciones if / else) o bucles (para cada instrucciones) mediante una interfaz de usuario de creación visual. Las tareas pueden cargar o transformar datos en un flujo de trabajo de ETL, o bien crear, entrenar e implementar modelos de ML de una manera controlada y repetible como parte de las canalizaciones de aprendizaje automático.

Ejemplo: Procesamiento diario de datos y trabajo de validación

En el ejemplo siguiente se muestra un trabajo en Azure Databricks.

Ejemplo que muestra un trabajo en la interfaz de usuario con 4 tareas y un desencadenador para ejecutarse diariamente.

Este trabajo de ejemplo tiene las siguientes características:

  1. La primera tarea ingiere datos de ingresos.
  2. La segunda tarea es una comprobación if /else de valores NULL.
  3. Si no es así, se ejecuta una tarea de transformación.
  4. De lo contrario, ejecuta una tarea de cuaderno con una validación de calidad de datos.
  5. Está programado para ejecutarse al mismo tiempo cada día.

Para obtener una introducción rápida a la creación de su propio trabajo, consulte Creación del primer flujo de trabajo con trabajos de Lakeflow.

Casos de uso comunes

Desde los principios fundamentales de ingeniería de datos hasta el aprendizaje automático avanzado y la integración sin problemas de herramientas, estos casos de uso comunes muestran la amplitud de las funcionalidades que impulsan el análisis moderno, la automatización de flujos de trabajo y la escalabilidad de la infraestructura.

Conceptos de orquestación

Hay tres conceptos principales al usar trabajos de Lakeflow para la orquestación en Azure Databricks: trabajos, tareas y desencadenadores.

Trabajo - Un trabajo es el recurso principal para coordinar, programar y ejecutar tus operaciones. Los trabajos pueden variar en complejidad desde una sola tarea que ejecuta un cuaderno de Azure Databricks hasta cientos de tareas con lógica condicional y dependencias. Las tareas de un trabajo se representan visualmente mediante un grafo Acíclico dirigido (DAG). Puede especificar propiedades para el trabajo, entre las que se incluyen:

  • Desencadenador: define cuándo ejecutar el trabajo.
  • Parámetros: parámetros en tiempo de ejecución que se insertan automáticamente en las tareas del trabajo.
  • Notificaciones: correos electrónicos o webhooks que se enviarán cuando un trabajo falle o demore demasiado.
  • Git: configuración de control de código fuente para las tareas de trabajo.

tarea: una tarea es una unidad de trabajo específica dentro de un trabajo. Cada tarea puede realizar una variedad de operaciones, entre las que se incluyen:

  • Una tarea de cuaderno ejecuta un cuaderno de Databricks. Especifique la ruta de acceso al cuaderno y los parámetros que requiera.
  • Una tarea de canalización ejecuta una canalización. Puede especificar canalizaciones declarativas de Spark de Lakeflow existentes, como una vista materializada o una tabla de streaming.
  • Una tarea de script de Python ejecuta un archivo de Python. Proporcione la ruta de acceso al archivo y los parámetros necesarios.

Hay muchos tipos de tareas. Para obtener una lista completa, consulte Tipos de tareas. Las tareas pueden tener dependencias en otras tareas y ejecutar condicionalmente otras tareas, lo que le permite crear flujos de trabajo complejos con lógica condicional y dependencias.

Activador: un activador es un mecanismo que inicia la ejecución de un trabajo en función de condiciones o eventos específicos. Un desencadenador puede basarse en el tiempo, como ejecutar un trabajo en una hora programada (por ejemplo, cada día a las 2:00) o en función de eventos, como ejecutar un trabajo cuando llegan nuevos datos al almacenamiento en la nube.

Supervisión y observabilidad

Los trabajos proporcionan compatibilidad integrada para la supervisión y la observabilidad. En los temas siguientes se proporciona información general sobre este soporte técnico. Para más información sobre la supervisión de trabajos y orquestación, consulte Supervisión y observabilidad de trabajos de Lakeflow.

Supervisión y observabilidad del trabajo en la interfaz de usuario: en la interfaz de usuario de Azure Databricks puede ver trabajos, incluidos detalles como el propietario del trabajo y el resultado de la última ejecución y filtrar por propiedades de trabajo. Puede ver un historial de ejecuciones de trabajos y obtener información detallada sobre cada tarea del trabajo.

Estado y métricas de ejecución del trabajo: Databricks informa sobre el éxito de la ejecución del trabajo, y registra además los logs y las métricas de cada tarea dentro de una ejecución de trabajo para diagnosticar problemas y comprender el rendimiento.

Notificaciones y alertas: puede configurar notificaciones para eventos de trabajo a través de correo electrónico, Slack, webhooks personalizados y un host de otras opciones.

consultas personalizadas a través de tablas del sistema: Azure Databricks proporciona tablas del sistema que registran las ejecuciones de trabajos y tareas a lo largo de la cuenta. Puede usar estas tablas para consultar y analizar el rendimiento y los costos del trabajo. Puede crear paneles para visualizar las métricas y tendencias del trabajo, para ayudar a supervisar el estado y el rendimiento de los flujos de trabajo.

Limitaciones

Existen las siguientes limitaciones:

  • Un área de trabajo está limitada a 2000 ejecuciones de tareas simultáneas. Se devuelve una respuesta 429 Too Many Requests cuando se solicita una ejecución que no se puede iniciar inmediatamente.
  • El número de trabajos que puede crear un área de trabajo en una hora está limitado a 10000 (incluye "envío de ejecuciones"). Este límite también afecta a los trabajos creados por los flujos de trabajo de la API REST y del cuaderno.
  • Un área de trabajo puede contener hasta 12 000 trabajos guardados.
  • Un trabajo puede contener hasta 1000 tareas.

¿Puedo administrar flujos de trabajo mediante programación?

Databricks tiene herramientas y API que permiten programar y orquestar los flujos de trabajo mediante programación, incluidos los siguientes:

Para obtener ejemplos de uso de herramientas y API para crear y administrar trabajos, consulte Automatización de la creación y administración de trabajos. Para obtener documentación sobre todas las herramientas de desarrollo disponibles, consulte Herramientas de desarrollo local.

Las herramientas externas usan las api y herramientas de Databricks para programar flujos de trabajo mediante programación. Puede programar los trabajos mediante herramientas como Azure Data Factory o Apache AirFlow.

Orquestación de flujos de trabajo con Apache AirFlow

Puede usar Apache Airflow para administrar y programar los flujos de trabajo de datos. Con Airflow, define el flujo de trabajo en un archivo de Python y Airflow administra la programación y la ejecución del flujo de trabajo. Consulte Orquestación de trabajos de Lakeflow con Apache Airflow.

Orquestación de flujos de trabajo con Azure Data Factory

Azure Data Factory (ADF) es un servicio de integración de datos en la nube que permite componer servicios de almacenamiento, traslado y procesamiento de datos en canalizaciones de datos automatizadas. Puede usar ADF para organizar un trabajo de Azure Databricks como parte de una canalización de ADF.

ADF también tiene compatibilidad integrada para ejecutar cuadernos de Databricks, scripts de Python o código empaquetado en JAR en una canalización de ADF.

Para obtener información sobre cómo ejecutar un cuaderno de Databricks en una canalización de ADF, consulte Ejecución de un cuaderno de Databricks con la actividad del cuaderno de Databricks en Azure Data Factory, seguido de Transformación de datos mediante la ejecución de un cuaderno de Databricks.

Para obtener información sobre cómo ejecutar un script de Python en una canalización de ADF, consulte Transformación de datos mediante la ejecución de una actividad de Python en Azure Databricks.

Para más información sobre cómo ejecutar código empaquetado en un archivo JAR en una canalización de ADF, consulte Transformación de datos mediante la ejecución de una actividad JAR en Azure Databricks.