DAGs do Airflow

Introdução ao Apache Airflow em Python

Mike Metzger

Data Engineer

O que é uma DAG?

DAG, ou Directed Acyclic Graph:

  • Directed – o fluxo entre componentes indica dependências
  • Acyclic – não tem loops nem repetições
  • Graph – o conjunto de componentes

Grafo acíclico direcionado com nós ligados por setas de mão única e sem loops

Introdução ao Apache Airflow em Python

DAG no Airflow

  • Escrita em Python (mas pode usar componentes em outras linguagens)
  • Composta por Tasks a executar, como operators ou sensors
  • Contém dependências explícitas ou implícitas
    • Ex.: copiar o arquivo pro servidor antes de importar no serviço de banco de dados.

  DAG do Airflow com tasks conectadas mostrando a ordem de dependência entre elas

Introdução ao Apache Airflow em Python

Definir uma DAG

Exemplo de DAG (Taskflow API):

from airflow.sdk import dag

from pendulum import datetime @dag( dag_id='etl_workflow', email='[email protected]', start_date=datetime(2026, 3, 15, tz="UTC") )
def etl_workflow(): ...
etl_workflow()
Introdução ao Apache Airflow em Python

DAGs na linha de comando

 

  • A linha de comando airflow tem muitos subcomandos
  • airflow -h – ajuda e descrição dos subcomandos

 

  • Subcomandos de DAGs

    • airflow dags list – mostra todas as DAGs reconhecidas
    • airflow dags reserialize – força o Airflow a recarregar os arquivos de DAG
    • airflow tasks test – executa uma task específica
Introdução ao Apache Airflow em Python

Linha de comando vs. Python

Use a linha de comando para:

  • Iniciar processos do Airflow
  • Rodar DAGs/Tasks manualmente
  • Obter logs do Airflow

Terminal executando a ferramenta de linha de comando do Airflow

Use Python para:

  • Criar uma DAG
  • Editar as propriedades individuais de uma DAG

Ilustração representando código Python

Introdução ao Apache Airflow em Python

Vamos praticar!

Introdução ao Apache Airflow em Python

Preparing Video For Download...