Airflow-operators

Introductie tot Apache Airflow in Python

Mike Metzger

Data Engineer

Operators

  • Stelt één taak in een workflow voor.
  • Draait (meestal) onafhankelijk.
  • Deelt doorgaans geen informatie.
  • Verschillende operators voor verschillende taken.
# Nieuwe manier, Airflow 2.x+
EmptyOperator(task_id='example')

# Oude manier, Airflow <2.0
EmptyOperator(task_id='example', dag=dag_name)
Introductie tot Apache Airflow in Python

BashOperator

BashOperator(
    task_id='bash_example',
    bash_command='echo "Example!"',
    # Volgende regel alleen voor Airflow vóór versie 2
    dag=dag
)
BashOperator(
    task_id='bash_script_example',
    bash_command='runcleanup.sh',
)
  • Voert een opgegeven Bash-commando of -script uit.
  • Draait het commando in een tijdelijke map.
  • Kan omgevingsvariabelen meegeven.
Introductie tot Apache Airflow in Python

Voorbeelden van 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',
)
Introductie tot Apache Airflow in Python

Operator-valkuilen

  • Niet gegarandeerd om op dezelfde locatie/omgeving te draaien.
  • Vereist vaak veel omgevingsvariabelen.
  • Moeilijk om taken met verhoogde rechten te draaien.
Introductie tot Apache Airflow in Python

Laten we oefenen!

Introductie tot Apache Airflow in Python

Preparing Video For Download...