Een BashOperator definiëren met @task.bash
Met een Bash-taak kun je elke shellopdracht of elk script opgeven en toevoegen aan een Airflow-workflow. Dit is een goede manier om Airflow in je omgeving te introduceren.
Je hebt tot nu toe handmatig scripts gedraaid om data op te schonen (met een script genaamd cleanup.sh) voordat je die doorzet naar je collega’s van de Data Analytics-groep. 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 een eenvoudig script als een Airflow-operator implementeren.
De Airflow-dag- en taakobjecten zijn al geïmporteerd.
Deze oefening maakt deel uit van de cursus
Introductie tot Apache Airflow in Python
Oefeninstructies
- Gebruik de decorator
@task.bashom de taak te definiëren. - Gebruik de methodenaam
cleanup_task. - Laat de taak
cleanup.shretourneren.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
@dag(
dag_id='analytics_dag',
start_date=datetime(2026,1,1)
)
def analytics_dag():
# Specify a Bash task
@____
def ____():
return '____'
# Run the task
cleanup_task()
analytics_dag()