caiopizzol /
cnpj-data-pipeline
Pipeline open-source que baixa e processa os dados da Receita Federal para PostgreSQL
Loading repository data…
victorbeppler / repository
ETL Python para dados públicos de CNPJ da Receita Federal. Automatiza download paralelo, extração e carga de ~50 milhões de empresas em PostgreSQL. Estrutura 10 tabelas com dados de empresas, sócios, estabelecimentos e Simples Nacional. Inclui validação de integridade, processamento em batch e índices para consultas rápidas.
Pipeline ETL Python otimizado para dados públicos de CNPJ da Receita Federal. Automatiza download paralelo, extração e carga de ~50 milhões de empresas em PostgreSQL com melhorias significativas de performance e robustez.
A Receita Federal do Brasil disponibiliza mensalmente bases com dados públicos do Cadastro Nacional de Pessoas Jurídicas (CNPJ). Este projeto oferece um pipeline ETL completo e otimizado para:
Esta versão otimizada inclui melhorias significativas sobre o projeto original:
git clone https://github.com/victorbeppler/Dados-Publicos---Receita-Federal-Brasil-.git
cd Dados-Publicos---Receita-Federal-Brasil-
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
pip install -r requirements.txt
Execute o arquivo banco_de_dados.sql para criar a estrutura:
CREATE DATABASE Dados_RFB;
Copie o template e configure suas credenciais:
cp .env.template .env
Edite o arquivo .env:
# Configuração do Banco de Dados
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=sua_senha_aqui
DB_NAME=Dados_RFB
# Diretórios
OUTPUT_FILES_PATH=./output
EXTRACTED_FILES_PATH=./files
# Configurações Opcionais
MAX_DOWNLOAD_WORKERS=5
DOWNLOAD_TIMEOUT=1800
O script automaticamente validará suas configurações ao iniciar.
python ETL_coletar_dados_e_gravar_BD.py
Você pode ajustar o comportamento modificando as variáveis no início do script:
# Configurações de Download
MAX_DOWNLOAD_WORKERS = 5 # 1-10 downloads simultâneos
DOWNLOAD_TIMEOUT = 1800 # Timeout em segundos
# Período dos dados
YEAR = 2025
MONTH = 8
O script fornece logs detalhados:
O pipeline cria 10 tabelas estruturadas:
empresa: Dados cadastrais da empresa (matriz)estabelecimento: Dados por unidade/filial (endereços, telefones)socios: Quadro societário completosimples: Dados de MEI e Simples Nacionalcnae: Códigos e descrições de atividadequals: Qualificações de pessoas físicasnatju: Naturezas jurídicasmoti: Motivos de situação cadastralpais: Códigos de paísesmunic: Códigos de municípiosO sistema cria automaticamente índices otimizados na coluna cnpj_basico para todas as tabelas principais.
| Componente | Hardware Básico | Hardware Recomendado |
|---|---|---|
| Download | 2-4 horas | 30-60 minutos |
| Extração | 5-10 minutos | 2-3 minutos |
| Carga BD | 4-8 horas | 1-2 horas |
| Total | 6-12 horas | 1.5-3 horas |
❌ Erro ao conectar com o banco de dados
Solução: Verifique arquivo .env e se PostgreSQL está rodando.
⚠️ Muitos arquivos falharam no download
Solução: Reduza MAX_DOWNLOAD_WORKERS para 2-3 e tente novamente.
❌ Erro de memória durante processamento
Solução: Feche outras aplicações e monitore uso de RAM.
Este script irá:
O sistema gera logs detalhados para facilitar o debug:
Dados-Publicos-Receita-Federal-Brasil/
├── ETL_coletar_dados_e_gravar_BD.py # Script principal otimizado
├── debug_conexao.py # Script de debug de conexão
├── banco_de_dados.sql # Schema do banco
├── requirements.txt # Dependências Python
├── .env.template # Template de configuração
├── README.md # Esta documentação
└── output/ # Arquivos baixados (auto-criado)
└── files/ # Arquivos extraídos (auto-criado)
Aphonso Henrique do Amaral Rafael
Victor Beppler
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Para dúvidas, problemas ou sugestões:
🚀 Developed with ❤️ for the Brazilian Open Data Community
Este projeto visa democratizar o acesso aos dados públicos de CNPJ, facilitando análises econômicas, acadêmicas e de transparência.
Selected from shared topics, language and repository description—not editorial ratings.
caiopizzol /
Pipeline open-source que baixa e processa os dados da Receita Federal para PostgreSQL
ftiosso /
Curso oferecido para a DIO sobre ETL utilizando a linguagem Python e as bibliotecas pandas e pandera.
tsffarias /
Arquitetura CRM de Baixo Custo com Gen AI, projetada para startups que precisam processar e analisar dados de vendas de forma eficiente.
📄 Tutorial prático de Engenharia de Dados para YouTube. Pipeline ETL completo com Airflow, Python e PostgreSQL que coleta dados meteorológicos de São Paulo, aplica transformações e persiste em banco de dados. Containerizado com Docker para fácil reprodução. @vbluuiza
📄 Projeto-base de ETL batch com Python, Pandas e Streamlit, pensado para quem quer estudar e reproduzir um fluxo completo de Engenharia de Dados pela primeira vez.
juanitobanca /
ETL pipeline y data warehouse para béisbol profesional. Extrae boxscore, play-by-play y Statcast desde la MLB Stats API y los transforma en métricas avanzadas (wOBA, FIP, RE24, WPA, Park Factors). MLB y ligas latinas (LMB, LMP, LIDOM, LVBP, LBPRC). Python · SqlLite3