Tareas de Airflow

Introducción a Apache Airflow en Python

Mike Metzger

Data Engineer

Tareas

Las tareas son:

  • Instancias de operadores
  • Normalmente se asignan a una variable en Python
    example_task = BashOperator(task_id='bash_example',
                              bash_command='echo "Example!"')
    
  • Se referencian por su task_id en las herramientas de Airflow
Introducción a Apache Airflow en Python

Dependencias de tareas

$$

  • Definen un orden de ejecución de tareas
  • No son obligatorias en un flujo, pero suelen estar presentes
  • Se llaman tareas upstream o downstream
  • En Airflow 1.8 o posterior, se definen con los operadores de bitshift
    • >>, operador upstream
    • <<, operador downstream
Introducción a Apache Airflow en Python

Upstream vs Downstream

Upstream significa antes

Downstream significa después

Introducción a Apache Airflow en Python

Dependencia simple entre tareas

# Define the tasks
task1 = BashOperator(task_id='first_task',
                     bash_command='echo 1'
                    )

task2 = BashOperator(task_id='second_task', bash_command='echo 2' )
# Set first_task to run before second_task task1 >> task2 # or task2 << task1
Introducción a Apache Airflow en Python

Dependencias de tareas en la UI de Airflow

vista de DAG sin dependencias

Introducción a Apache Airflow en Python

Dependencias de tareas en la UI de Airflow

vista de DAG sin dependencias, marcado de tareas

Introducción a Apache Airflow en Python

Dependencias de tareas en la UI de Airflow

DAG con dependencia simple y bitshift

Introducción a Apache Airflow en Python

Dependencias múltiples

Dependencias encadenadas:

task1 >> task2 >> task3 >> task4

Dependencias mixtas:

task1 >> task2 << task3

o:

task1 >> task2
task3 >> task2

dependencias encadenadas

dependencias mixtas

Introducción a Apache Airflow en Python

¡Vamos a practicar!

Introducción a Apache Airflow en Python

Preparing Video For Download...