Definir una tarea BashOperator
La página BashOperator
te permite especificar cualquier comando Shell o script y añadirlo a un flujo de trabajo Airflow. Puede ser un buen comienzo para implantar Airflow en tu entorno.
Por ello, has estado ejecutando algunos scripts manualmente para limpiar los datos (utilizando un script llamado cleanup.sh
) antes de entregarlos a tus colegas del grupo de Análisis de Datos. A medida que tienes más tareas asignadas, te has dado cuenta de que cada vez es más difícil seguir el ritmo de ejecutarlo todo manualmente, y mucho menos lidiar con errores o reintentos. Te gustaría implementar un script sencillo como operador Airflow.
El flujo de aire DAG analytics_dag
ya está definido para ti y tiene las configuraciones adecuadas.
Este ejercicio forma parte del curso
Introducción a Apache Airflow en Python
Instrucciones de ejercicio
- Importa el objeto
BashOperator
. - Define un
BashOperator
llamadocleanup
con eltask_id
decleanup_task
. - Utiliza el comando
cleanup.sh
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este 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=____,
)