Compartir vía


Configuración de dependencias de tareas

El campo Ejecutar dependencias if le permiten agregar lógica de flujo de control a tareas basadas en el éxito, error o finalización de otras tareas.

Las dependencias se representan visualmente en el DAG del trabajo como líneas entre tareas.

Azure Databricks ejecuta las tareas de subida antes de ejecutar las de bajada, y ejecuta tantas de ellas en paralelo como sea posible.

Nota:

Depende de solo es visible si el trabajo consta de múltiples tareas.

Databricks también tiene la siguiente funcionalidad para el flujo de control y la condicionalización:

Agregar una condición “Ejecutar si” a una tarea

Si tiene una tarea seleccionada en el DAG al crear una nueva tarea, la nueva tarea tiene configurada una dependencia en esta tarea de forma predeterminada.

Para editar o agregar condiciones, haga lo siguiente:

  1. Seleccione una tarea.
  2. En el campo Depende de, haga clic en la X para eliminar una tarea o seleccione tareas para agregarlas en el menú desplegable.
  3. Seleccione una de las opciones condicionales en el campo Dependencias de ejecución condicional.
  4. Haga clic en Guardar tarea.

Opciones de condición Run if

Puede agregar las siguientes Run if condiciones a una tarea:

  • Todo correcto: todas las dependencias se han ejecutado y realizado correctamente. Esta es la configuración predeterminada. La tarea se marca como Upstream failed si no se cumple la condición.
  • Al menos una correcta: al menos una dependencia se ha realizado correctamente. La tarea se marca como Upstream failed si no se cumple la condición.
  • Ninguna con errores: ninguna de las dependencias produjo un error y se ejecutó al menos una dependencia. La tarea se marca como Upstream failed si no se cumple la condición.
  • Todo hecho: a tarea se ejecuta después de que se hayan ejecutado todas sus dependencias, sea cual sea el estado de las ejecuciones dependientes. Esta condición permite definir una tarea que se ejecuta sin depender del resultado de sus tareas dependientes.
  • Error en al menos una: error en al menos una dependencia. La tarea se marca como Excluded si no se cumple la condición.
  • Todas con errores: se han producido errores en todas las dependencias. La tarea se marca como Excluded si no se cumple la condición.

Nota:

  • Las tareas configuradas para manipular los errores se marcan como Excluded si no se cumple su condición Run if. Las tareas excluidas se omiten y se tratan como correctas.
  • Si se excluyen todas las dependencias de tareas, la tarea también se excluye, independientemente de su condición Run if.
  • Si se cancela la ejecución de una tarea, la cancelación se propagará a través de tareas de bajada, mientras que las tareas que tengan una condición Run if que controla el error se ejecutarán. Por ejemplo: para comprobar que se ejecute una tarea de limpieza cuando se cancele una ejecución de tareas.

Trabajo de ejemplo con dependencias de tareas

La configuración de dependencias de tareas crea un grafo acíclico dirigido (DAG) de ejecución de tareas, una manera común de representar el orden de ejecución en los programadores de trabajos. Por ejemplo, considere el siguiente trabajo que consta de cuatro tareas:

Diagrama de ejemplo de dependencias de tareas

  • La tarea 1 es la tarea raíz y no depende de ninguna otra tarea.
  • Las tareas 2 y 3 dependen de que la tarea 1 se complete primero.
  • Por último, la tarea 4 depende de que la tarea 2 y la tarea 3 se completen correctamente.

En el diagrama siguiente se muestra el orden de procesamiento de estas tareas:

Flujo de ejemplo de dependencias de tareas