Pipeline moderno para ingestão, transformação e publicação de dados em Parquet, PostgreSQL e Microsoft Fabric Lakehouse.
O parquetData é um pipeline de dados modular, escalável e orientado a ambientes modernos de engenharia de dados. Ele integra:
- extração de dados de bancos relacionais (PostgreSQL)
- geração de arquivos Parquet
- envio estruturado para Azure Data Lake Storage Gen2
- compatibilidade nativa com Microsoft Fabric Lakehouse (pasta Files/)
- transformações Bronze → Silver → Gold
- execução padronizada via CLI e Docker
- versionamento automático via Git tags
- CI/CD completo com GitHub Actions
O projeto foi desenvolvido para atender pipelines corporativos que exigem rastreabilidade, padronização, automação e integração com plataformas analíticas modernas.
O parquetData faz parte da arquitetura de dados da IncomeView, atuando como o componente responsável por:
- padronizar ingestão e transformação de dados
- integrar fontes locais (PostgreSQL/WSL) com o ecossistema Azure
- alimentar o Microsoft Fabric com dados estruturados
- garantir versionamento, reprodutibilidade e governança
Ele é utilizado em pipelines financeiros, contábeis e operacionais, onde consistência e auditabilidade são essenciais.
Criar um pipeline completo e modular que:
- extrai dados de bancos relacionais
- gera arquivos Parquet padronizados
- envia para o ADLS no formato compatível com o Fabric
- organiza dados em camadas Bronze → Silver → Gold
- suporta execução local, em WSL, Docker ou CI/CD
- permite versionamento semântico baseado em tags
- integra com dashboards corporativos
┌──────────────────────────────┐
│ PostgreSQL (WSL) │
│ • Tabelas de origem │
└──────────────┬───────────────┘
│
▼
┌──────────────────────────────┐
│ Bronze Pipeline │
│ • Extração │
│ • Parquet local │
│ • Upload para ADLS │
│ (Files/bronze/) │
└──────────────┬───────────────┘
│
▼
┌──────────────────────────────┐
│ Silver Pipeline │
│ • Limpeza │
│ • Normalização │
│ • Tipagem │
│ • Envio para ADLS │
│ (Files/silver/) │
└──────────────┬───────────────┘
│
▼
┌──────────────────────────────┐
│ Gold Pipeline │
│ • Modelagem analítica │
│ • Métricas e agregações │
│ • Publicação no Fabric │
│ (Files/gold/) │
└──────────────────────────────┘
- 📥 Extração de tabelas PostgreSQL
- 🪵 Geração de Parquet local (Bronze)
- ☁️ Upload automático para ADLS (pasta Files/ compatível com Fabric)
- 🧹 Transformações Bronze → Silver → Gold
- 🧪 Testes automatizados (PyTest)
- 🐳 Execução via Docker
- 🔄 CI/CD completo com GitHub Actions
- 🏷️ Versionamento automático baseado em tags
- 🧰 CLI integrada (parquetdata )
- Python 3.12+
- PyArrow / Pandas
- PostgreSQL (WSL)
- Azure Storage (ADLS Gen2)
- Microsoft Fabric Lakehouse
- Docker
- GitHub Actions (CI/CD)
parquetData/
│
├── src/parquetData/
│ ├── extract/
│ │ ├── table_postgres.py
│ │ └── db_utils.py
│ ├── load/
│ │ ├── adls_send.py
│ │ ├── parquet_loader.py
│ │ └── parquet_to_postgres.py
│ ├── transform/
│ │ ├── bronze_to_silver.py
│ │ └── silver_to_gold.py
│ ├── pipeline/
│ │ ├── bronze_pipeline.py
│ │ ├── silver_pipeline.py
│ │ └── gold_pipeline.py
│ ├── cli.py
│ ├── settings.py
│ └── __main__.py
│
├── tests/
├── .github/workflows/
├── Dockerfile
├── pyproject.toml
└── README.md
docker build -t parquetdata:latest .
docker run --rm parquetdata:latestO projeto usa versionamento semântico baseado em tags:
git tag v0.7.0
git push origin v0.7.0A pipeline de release:
- lê a tag
- atualiza a versão do pacote
- gera wheel + sdist
- publica a Release no GitHub
- Ambiente WSL real configurado
- .venv estável e integrado ao VS Code
- Bronze Pipeline funcional
- Upload para ADLS com caminho correto (Files/bronze/)
- CI/CD funcionando
- Docker funcional
- Versionamento automático por tags
- Integração com Warehouse Gen2
- Silver Pipeline (limpeza e normalização)
- Gold Pipeline (modelagem analítica)
- Publicação automática no Fabric
- Documentação avançada
- Carga incremental
- Orquestração (Fabric Data Pipelines / Airflow)
- Monitoramento e alertas
- Benchmarks de performance
Contribuições são bem-vindas via Issues e Pull Requests.
MIT License.
Moacir Magalhães Faria
IncomeView — Data & Financial Engineering
GitHub: https://github.com/MmsFaria
LinkedIn: https://www.linkedin.com/in/moacirfaria