Werken met templates

Introductie tot Apache Airflow in Python

Mike Metzger

Data Engineer

Wat zijn templates?

Templates:

  • Vervangen info tijdens een DAG-run
  • Geven extra flexibiliteit bij het definiëren van taken
  • Worden gemaakt met de Jinja-templatingtaal
Introductie tot Apache Airflow in Python

Niet-getemplate BashOperator-voorbeeld

Maak een taak die een lijst met bestanden echoot:

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)
Introductie tot Apache Airflow in Python

Getemplate BashOperator-voorbeeld

templated_command="""
  echo "Reading {{ params.filename }}"
"""

t1 = BashOperator(task_id='template_task', bash_command=templated_command, params={'filename': 'file1.txt'}, dag=example_dag)

Uitvoer:

Reading file1.txt
Introductie tot Apache Airflow in Python

Getemplate BashOperator-voorbeeld (vervolg)

templated_command="""
  echo "Reading {{ params.filename }}"
"""

t1 = BashOperator(task_id='template_task', bash_command=templated_command, params={'filename': 'file1.txt'}, dag=example_dag)
t2 = BashOperator(task_id='template_task', bash_command=templated_command, params={'filename': 'file2.txt'}, dag=example_dag)
Introductie tot Apache Airflow in Python

Laten we oefenen!

Introductie tot Apache Airflow in Python

Preparing Video For Download...