Meerdere BashOperators
Airflow-DAG's kunnen veel operators bevatten, die elk hun eigen taken uitvoeren.
Je hebt één van je scripts succesvol als een Airflow-taak geïmplementeerd en besloten je losse scripts verder te migreren naar één volledige Airflow-DAG. Je wilt nu meer onderdelen aan de workflow toevoegen. Naast de cleanup.sh uit de vorige oefening heb je nog twee scripts: consolidate_data.sh en push_data.sh. Deze verwerken je data verder en kopiëren die naar de eindlocatie.
De DAG analytics_dag is gedefinieerd (je hoeft with DAG(...) dus niet toe te voegen) en je cleanup-taak is nog steeds aanwezig. De BashOperator is al geïmporteerd.
Deze oefening maakt deel uit van de cursus
Introductie tot Apache Airflow in Python
Oefeninstructies
- Definieer een
BashOperatormet de naamconsolidate, omconsolidate_data.shuit te voeren met eentask_idvanconsolidate_task. - Voeg een laatste
BashOperatortoe met de naampush_data, diepush_data.shuitvoert met eentask_idvanpushdata_task.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Define a second operator to run the `consolidate_data.sh` script
consolidate = ____(
task_id='consolidate_task',
bash_command=____
)
# Define a final operator to execute the `push_data.sh` script
push_data = ____(
____=____,
____=____
)