Definir una tarea con BashOperator
BashOperator te permite especificar cualquier comando o script de Shell y añadirlo a un flujo de trabajo de Airflow. Puede ser un gran primer paso para implementar Airflow en tu entorno.
Hasta ahora has estado ejecutando algunos scripts manualmente para limpiar datos (usando un script llamado cleanup.sh) antes de entregarlos a tus compañeros del equipo de Data Analytics. A medida que te asignan más tareas, te has dado cuenta de que es difícil mantener el ritmo ejecutándolo todo a mano, y más aún gestionar errores o reintentos. Quieres implementar un script sencillo como operador de Airflow.
El DAG de Airflow analytics_dag ya está definido y tiene la configuración adecuada.
Este ejercicio forma parte del curso
Introducción a Apache Airflow en Python
Instrucciones del ejercicio
- Importa el objeto
BashOperator. - Define un
BashOperatorllamadocleanupcontask_idigual acleanup_task. - Usa el comando
cleanup.sh.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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=____,
)