Definir un BashOperator con @task.bash
Una tarea de Bash te permite especificar cualquier comando o script de shell y añadirlo a un flujo de trabajo de Airflow. Esto puede ser un gran comienzo para implementar Airflow en tu entorno.
Hasta ahora has estado ejecutando manualmente algunos scripts para limpiar datos (usando un script llamado cleanup.sh) antes de entregarlos a tus colegas del equipo de Analítica de datos. A medida que te asignan más de estas tareas, te has dado cuenta de que es difícil seguir ejecutándolo todo a mano, y más aún gestionar errores o reintentos. Te gustaría implementar un script sencillo como operador de Airflow.
Los objetos dag y task de Airflow ya se han importado.
Este ejercicio forma parte del curso
Introducción a Apache Airflow en Python
Instrucciones del ejercicio
- Usa el decorador
@task.bashpara definir la tarea. - Usa el nombre de método
cleanup_task. - Haz que la tarea devuelva
cleanup.sh.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
@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()