Een BashOperator-taak definiëren
Met de BashOperator kun je elk Shell-commando of -script opgeven en toevoegen aan een Airflow-workflow. Dit is een mooie start om Airflow in je omgeving te gebruiken.
Je draait bijvoorbeeld al een tijdje handmatig scripts om data op te schonen (met een script genaamd cleanup.sh) voordat je die doorstuurt naar je collega’s van de Data Analytics-afdeling. Nu je meer van dit soort taken krijgt, merk je dat het lastig wordt om alles handmatig bij te houden, laat staan om met fouten of retries om te gaan. Je wilt daarom een eenvoudig script als Airflow-operator inzetten.
De Airflow-DAG analytics_dag is al voor je gedefinieerd en heeft de juiste configuraties.
Deze oefening maakt deel uit van de cursus
Introductie tot Apache Airflow in Python
Oefeninstructies
- Importeer het object
BashOperator. - Definieer een
BashOperatormet de naamcleanupmettask_idcleanup_task. - Gebruik het commando
cleanup.sh.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Import the BashOperator
from airflow.operators.bash import ____
with DAG(dag_id="test_dag", default_args={"start_date": "2024-01-01"}) as analytics_dag:
# Define the BashOperator
cleanup = ____(
task_id=____,
# Define the bash_command
bash_command=____,
)