Einen BashOperator mit @task.bash definieren
Eine Bash-Task erlaubt dir, einen beliebigen Shell-Befehl oder ein Skript anzugeben und in einen Airflow-Workflow einzubauen. Das ist ein guter Einstieg, um Airflow in deiner Umgebung einzuführen.
Bisher hast du einige Skripte manuell ausgeführt, um Daten zu bereinigen (mit einem Skript namens cleanup.sh), bevor du sie an deine Kolleginnen und Kollegen im Data-Analytics-Team weitergibst. Da dir immer mehr dieser Aufgaben zugewiesen werden, merkst du, dass es schwierig wird, alles manuell auszuführen – ganz zu schweigen von der Fehlerbehandlung oder Wiederholungen. Du möchtest daher ein einfaches Skript als Airflow-Operator implementieren.
Die Airflow-Dag- und Task-Objekte wurden bereits importiert.
Diese Übung ist Teil des Kurses
<Kurs>Einführung in Apache Airflow mit Python</Kurs>Übungsanweisungen
- Verwende den Decorator
@task.bash, um die Task zu definieren. - Verwende den Methodennamen
cleanup_task. - Lass die Task
cleanup.shzurückgeben.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
@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()