Operadores de Airflow

Introducción a Apache Airflow en Python

Mike Metzger

Data Engineer

Operadores

  • Representan una sola tarea en un flujo.
  • Se ejecutan de forma independiente (normalmente).
  • Generalmente no comparten información.
  • Hay operadores para distintas tareas.
# New way, Airflow 2.x+
EmptyOperator(task_id='example')

# Old way, Airflow <2.0
EmptyOperator(task_id='example', dag=dag_name)
Introducción a Apache Airflow en Python

BashOperator

BashOperator(
    task_id='bash_example',
    bash_command='echo "Example!"',
    # Next line only for Airflow before version 2
    dag=dag
)
BashOperator(
    task_id='bash_script_example',
    bash_command='runcleanup.sh',
)
  • Ejecuta un comando o script de Bash.
  • Lo ejecuta en un directorio temporal.
  • Permite definir variables de entorno.
Introducción a Apache Airflow en Python

Ejemplos de BashOperator

from airflow.operators.bash import BashOperator

example_task = BashOperator(task_id='bash_ex', bash_command='echo 1', )
bash_task = BashOperator(task_id='clean_addresses',
  bash_command='cat addresses.txt | awk "NF==10" > cleaned.txt',
)
Introducción a Apache Airflow en Python

Advertencias sobre operadores

  • No garantiza ejecutarse en la misma ubicación/entorno.
  • Puede requerir mucho uso de variables de entorno.
  • Difícil ejecutar tareas con privilegios elevados.
Introducción a Apache Airflow en Python

¡Vamos a practicar!

Introducción a Apache Airflow en Python

Preparing Video For Download...