Definindo uma tarefa BashOperator
O BashOperator permite especificar qualquer comando ou script de Shell e adicioná-lo a um workflow do Airflow. Isso pode ser um ótimo começo para implementar o Airflow no seu ambiente.
Você vinha executando alguns scripts manualmente para limpar dados (usando um script chamado cleanup.sh) antes de entregá-los ao pessoal do grupo de Data Analytics. Conforme mais dessas tarefas foram sendo atribuídas a você, ficou claro que está difícil dar conta de executar tudo manualmente, sem falar em lidar com erros ou novas tentativas. Você quer implementar um script simples como um operador do Airflow.
A DAG do Airflow analytics_dag já está definida para você e tem as configurações apropriadas em vigor.
Este exercício faz parte do curso
Introdução ao Apache Airflow em Python
Instruções do exercício
- Importe o objeto
BashOperator. - Defina um
BashOperatorchamadocleanupcomtask_idigual acleanup_task. - Use o comando
cleanup.sh.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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=____,
)