Definirea unui BashOperator cu @task.bash
Un task Bash îți permite să specifici orice comandă sau script de shell și să îl adaugi într-un workflow Airflow. Acesta poate fi un prim pas excelent pentru implementarea Airflow în mediul tău de lucru.
Ai rulat până acum manual mai multe scripturi pentru curățarea datelor (folosind un script numit cleanup.sh) înainte de a le livra colegilor din echipa de Analiză a Datelor. Pe măsură ce ai primit tot mai multe astfel de sarcini, ți-ai dat seama că devine din ce în ce mai dificil să le rulezi pe toate manual – ca să nu mai vorbim de gestionarea erorilor sau a reîncercărilor. Îți dorești să implementezi un script simplu ca operator Airflow.
Obiectele dag și task din Airflow au fost deja importate.
Acest exercițiu face parte din cursul
Introducere în Apache Airflow în Python
Instrucțiuni pentru exercițiu
- Folosește decoratorul
@task.bashpentru a defini task-ul. - Folosește numele de metodă
cleanup_task. - Fă ca task-ul să returneze
cleanup.sh.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
@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()