Definire un task BashOperator
Il BashOperator ti permette di specificare qualsiasi comando o script 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 di questi task, ti sei reso conto che diventa difficile tenere il passo con tutto manualmente, senza contare la gestione degli errori o dei tentativi di retry. Vorresti implementare uno script semplice come operatore in Airflow.
Il DAG di Airflow analytics_dag è già definito per te e ha le configurazioni appropriate.
Questo esercizio fa parte del corso
Introduzione ad Apache Airflow in Python
Istruzioni dell'esercizio
- Importa l’oggetto
BashOperator. - Definisci un
BashOperatorchiamatocleanupcontask_idpari acleanup_task. - Usa il comando
cleanup.sh.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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=____,
)