Definire un BashOperator con @task.bash
Un task Bash ti permette di specificare qualsiasi comando o script della shell e aggiungerlo a un workflow di Airflow. Può essere un ottimo punto di partenza per introdurre Airflow nel tuo ambiente.
Finora hai eseguito manualmente alcuni script per ripulire i dati (usando uno script chiamato cleanup.sh) prima di consegnarli ai colleghi del team di Data Analytics. Con l’aumentare dei task assegnati, ti sei reso conto che sta diventando difficile stare al passo con tutto manualmente, per non parlare della gestione di errori e retry. Vorresti implementare un semplice script come operatore di Airflow.
Gli oggetti dag e task di Airflow sono già stati importati.
Questo esercizio fa parte del corso
Introduzione ad Apache Airflow in Python
Istruzioni dell'esercizio
- Usa il decorator
@task.bashper definire il task. - Usa come nome del metodo
cleanup_task. - Fai in modo che il task restituisca
cleanup.sh.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
@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()