Eine BashOperator-Task definieren
Mit dem BashOperator kannst du beliebige Shell-Befehle oder Skripte angeben und sie zu einem Airflow-Workflow hinzufügen. Das ist ein guter Einstieg, um Airflow in deiner Umgebung einzusetzen.
Bisher hast du einige Skripte manuell ausgeführt, um Daten vor der Übergabe an deine Kolleginnen und Kollegen im Data-Analytics-Team zu bereinigen (mit einem Skript namens cleanup.sh). Da dir immer mehr dieser Aufgaben zugewiesen werden, merkst du, dass es schwierig wird, alles manuell auszuführen – ganz zu schweigen vom Umgang mit Fehlern oder Wiederholungen. Du möchtest ein einfaches Skript als Airflow-Operator implementieren.
Der Airflow-DAG analytics_dag ist bereits für dich definiert und hat die passenden Konfigurationen.
Diese Übung ist Teil des Kurses
Einführung in Apache Airflow mit Python
Anleitung zur Übung
- Importiere das Objekt
BashOperator. - Definiere einen
BashOperatornamenscleanupmit dertask_idcleanup_task. - Verwende den Befehl
cleanup.sh.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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=____,
)