airflow-dag-patterns
Construa DAGs do Apache Airflow com padrões de produção
Também disponível em: wshobson
Criar DAGs do Airflow prontas para produção requer compreensão de operadores, sensores e padrões de tratamento de erros. Esta habilidade fornece templates testados e melhores práticas para orquestração de pipelines de dados.
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "airflow-dag-patterns". Crie uma DAG ETL diária com tarefas de extração, transformação e carregamento
Resultado esperado:
- DAG criada com schedule '0 6 * * *' (diariamente às 6 AM)
- Três tarefas PythonOperator: extract_data, transform_data, load_data
- Dependências de tarefas: extract >> transform >> load
- Configuração de nova tentativa: 3 novas tentativas com backoff exponencial de 5 minutos
- Notificações por email configuradas para falhas de tarefas
A utilizar "airflow-dag-patterns". Adicione um sensor para aguardar arquivo no S3 antes do processamento
Resultado esperado:
- S3KeySensor adicionado com timeout de 2 horas e intervalo de poke de 5 minutos
- Sensor configurado com mode='reschedule' para liberar slots de worker
- Tarefa de processamento definida como dependência downstream do sensor
- DAG agora aguarda disponibilidade do arquivo antes da execução
Auditoria de Segurança
SeguroStatic analysis detected 41 patterns but all are false positives. Backtick characters are markdown formatting for code blocks, not shell execution. globals() usage is standard Airflow pattern for dynamic DAG generation. URLs are documentation references. This is educational documentation with no executable security risks.
Pontuação de qualidade
O Que Você Pode Construir
Equipes de Engenharia de Dados Construindo Pipelines ETL
Crie pipelines de dados agendados que extraem de fontes, transformam dados e carregam para warehouses com tratamento de erros e monitoramento adequados.
Equipes de Analytics Orquestrando Geração de Relatórios
Agende tarefas automatizadas de geração de relatórios com dependências na disponibilidade de dados e conclusão do processamento upstream.
Engenheiros de ML Treinando Modelos Agendadamente
Orquestre pipelines de treinamento de machine learning com validação de dados, treinamento de modelo e estágios de implantação.
Tente Estes Prompts
Crie uma DAG do Airflow que roda diariamente às 6 AM para extrair dados de um arquivo CSV, transformá-los e carregá-los para um banco de dados. Inclua tratamento básico de erros com novas tentativas.
Gere múltiplas DAGs similares a partir de uma lista de configuração para processar diferentes fontes de dados. Cada DAG deve ter a mesma estrutura, mas diferentes agendamentos e caminhos de origem.
Crie uma DAG que verifica métricas de qualidade de dados e ramifica para diferentes caminhos de processamento com base na pontuação de qualidade. Inclua lógica de junção adequada após a ramificação.
Construa uma DAG que aguarda arquivos chegarem no S3, depende da conclusão de outra DAG e monitora um endpoint de saúde de API antes do processamento. Use modo reescalonamento para sensores.
Melhores Práticas
- Use a TaskFlow API para código mais limpo e passagem automática de XCom entre tarefas
- Projete todas as tarefas para serem idempotentes para que novas tentativas não causem duplicação de dados
- Defina timeouts apropriados nas tarefas e use modo reescalonamento para sensores para liberar recursos do worker
Evitar
- Usar depends_on_past=True que cria gargalos desnecessários e bloqueia execução paralela
- Hardcodar datas ou valores em vez de usar macros do Airflow como {{ ds }} para datas de execução
- Colocar lógica de negócios pesada diretamente em arquivos DAG em vez de importar de módulos separados
Perguntas Frequentes
Como testo minhas DAGs antes de implantar em produção?
Qual é a diferença entre operadores e sensores?
Como passo dados entre tarefas no Airflow?
Por que minhas tarefas não estão fazendo nova tentativa após falha?
Como lido com dependências de DAG em outras DAGs?
Qual regra de trigger devo usar para tarefas de limpeza?
Detalhes do Desenvolvedor
Autor
sickn33Licença
MIT
Repositório
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/airflow-dag-patternsReferência
main
Estrutura de arquivos