Airflow Chapter4
Airflow Chapter4
templates
INTRODUCTION TO AIRFLOW IN PYTHON
Mike Metzger
Data Engineer
What are templates?
Templates:
t1 = BashOperator(
task_id='first_task',
bash_command='echo "Reading file1.txt"',
dag=dag)
t2 = BashOperator(
task_id='second_task',
bash_command='echo "Reading file2.txt"',
dag=dag)
Output:
Reading file1.txt
Mike Metzger
Data Engineer
Quick task reminder
Take a list of lenames
Templated version:
templated_command="""
echo "Reading {{ params.filename }}"
"""
t1 = BashOperator(task_id='template_task',
bash_command=templated_command,
params={'filename': 'file1.txt'}
dag=example_dag)
Reading file1.txt
Reading file2.txt
Provides assorted information about DAG runs, tasks, and even the system con guration.
Examples include:
1 h ps://air ow.apache.org/docs/stable/macros-ref.html
This is a reference to the Air ow macros package which provides various useful objects /
methods for Air ow templates.
Mike Metzger
Data Engineer
Branching
Branching in Air ow:
Using BranchPythonOperator
Takes a python_callable to return the next task id (or list of ids) to follow
branch_task = BranchPythonOperator(task_id='branch_task',dag=dag,
provide_context=True,
python_callable=branch_test)
Mike Metzger
Data Engineer
Running DAGs & Tasks
To run a speci c task from command-line:
4. Look for a line that referencing template_ elds. This will specify any of the arguments that
can use templates.
Mike Metzger
Data Engineer
What we've learned
Work ows / DAGs SLAs / Alerting
Connections