Pipeline completo de engenharia de dados com ETL automatizado usando Apache Airflow, transformações dbt e modelagem dimensional para análise de vendas de concessionárias.
- Apache Airflow - Orquestração de pipelines
- dbt (Data Build Tool) - Transformações de dados
- PostgreSQL - Banco de dados origem
- Snowflake - Data warehouse destino
- SQL - Modelagem e transformações
├── dags/
│ └── dag.py # DAG do Airflow para ETL
├── dbt/
│ ├── models/
│ │ ├── source.yml # Definição das fontes
│ │ ├── stage/ # Camada de staging
│ │ ├── dim/ # Tabelas dimensão
│ │ ├── fact/ # Tabelas fato
│ │ └── analytics/ # Análises de negócio
│ ├── analyses/ # Análises ad-hoc
│ ├── macros/ # Macros reutilizáveis
│ ├── seeds/ # Dados estáticos
│ ├── snapshots/ # Snapshots SCD
│ └── tests/ # Testes de qualidade
├── aws/ # Configurações AWS
├── dbt_project.yml # Configuração do dbt
├── LICENSE
└── README.md
- Extração incremental do PostgreSQL
- Carregamento automatizado no Snowflake
- Orquestração de tarefas com dependências
- Monitoramento e alertas
stg_vendas,stg_clientes,stg_veiculosstg_vendedores,stg_concessionariasstg_cidades,stg_estados
- Dimensões:
dim_clientes,dim_veiculos,dim_vendedores,dim_concessionarias,dim_cidades,dim_estados - Fato:
fct_vendas
analise_vendas_concessionaria- Performance por concessionáriaanalise_vendas_temporal- Tendências temporaisanalise_vendas_veiculo- Análise por modelo/marcaanalise_vendas_vendedor- Performance de vendedores
# Instalar Airflow
pip install apache-airflow
# Instalar dbt
pip install dbt-core dbt-snowflake dbt-postgres# Configurar conexões do Airflow
airflow connections add postgres_conn --conn-type postgres --conn-host localhost
# Configurar perfis do dbt
dbt init data_eng_project
# Executar transformações
dbt run
dbt test# Iniciar Airflow
airflow standalone
# Executar DAG
airflow dags trigger postgres_to_snowflake- Schedule: Diário
- Retry: Sem retry
- Tabelas processadas: veiculos, estados, cidades, clientes, vendedores, concessionarias, vendas
Configuração para múltiplos ambientes (dev, staging, prod) com Snowflake como target principal.
- Bronze (Staging) - Dados brutos limpos
- Silver (Dimensional) - Modelagem star schema
- Gold (Analytics) - Análises agregadas
- Volume de vendas por período
- Performance de vendedores
- Análise geográfica de vendas
- Tendências por tipo de veículo
- apache-airflow[postgres,snowflake]
- dbt-core
- dbt-snowflake
- dbt-postgres
- Dashboards executivos com KPIs de vendas
- Análise de performance de vendedores e concessionárias
- Planejamento estratégico baseado em tendências
- Otimização de estoque por região