# Processe dados públicos com o Google Cloud

> Desvende os segredos dos dados públicos das empresas brasileiras. Aprenda como processá-los com o Google Cloud. Descubra mais!

URL: https://bixtecnologia.com.br/4-passos-para-processar-dados-publicos-de-todas-as-empresas-do-brasil-com-o-google-cloud/
Idioma: pt-BR
Publicado em: 2021-03-26T17:15:05.000Z

## 4 passos para processar dados públicos de todas as empresas do Brasil com o Google Cloud

26 de março de 2021

9 min de leitura

Poucas pessoas sabem, mas a Receita Federal disponibiliza, a cada 3 meses, em seu site uma base “pública” com informações de **todas(!)** as empresas do Brasil e seus respectivos sócios. Com essas informações disponíveis, você pode **processar dados públicos de todas as empresas do Brasil com o Google Cloud,** utilizando **Storage, Dataflow e Big Query.**

Esse post tem como objetivos:

- **Democratizar o acesso aos dados públicos. Uma vez que a base está disponível, mas é necessário um certo esforço para conseguir de fato transformar esses dados em informações relevantes;**
- **Demonstrar como uma arquitetura serverless na nuvem pode ser útil para o tratamento de um grande volume de dados.**

Uma pergunta que pode surgir é: **Qual a utilidade de uma base dessas?** Dado que a base possui todos os CNPJs, razão social, CNAE, data de abertura, capital social, endereço, telefone, nome dos sócios, etc. Eu diria que **as possibilidades são infinitas.** Desde análise de concorrentes pelo mesmo CNAE até prospecção de clientes B2B.

Para melhor entendimento, dividi as etapas em **quatro passos** que vão te ajudar a processar os dados das empresas:

1. **Extração**
2. **Transformação**
3. **Carga**
4. **Visualização**

Ao final, teremos a arquitetura abaixo:

Arquitetura final do processamento dos dados públicos das empresas do Brasil.

Os códigos utilizados estão [no GitHub](https://github.com/igormsg/brazil_companies).

## Processando dados públicos de todas as empresas do Brasil utilizando o Google Cloud em quatro passos:

A partir da base disponibilizada pela Receita Federal, vamos processar dados de empresas com o Google Cloud e utilizar ferramentas como Storage, Dataflow e Big Query. É possível transformar os dados em informações relevantes e perceber que a arquitetura serverless pode ser aplicada no tratamento de um grande volume de dados. Você pode aplicar essas informações em diversas áreas do seu negócio e ampliar seus resultados!

### 1\. Extração

A primeira etapa é basicamente **baixar os dados da Receita e jogá-los para dentro do Google Cloud Storage.
**Para isso, utilizei uma VM Linux do Compute Engine do Google Cloud. Nessa etapa, utilizei o comando _wget_ para baixar os arquivos, _unzip_ para deszipar, o comando _screen_ para deixar a VM rodando em background enquanto fazia o download e o comando _gsutil cp_ para copiar o arquivo da VM para o Cloud Storage.

```
   sudo apt-get install wget screen unzip -y
   wget http://200.152.38.155/CNPJ/DADOS_ABERTOS_CNPJ_01.zip
   unzip DADOS_ABERTOS_CNPJ_01.zip
   gsutil cp K3241.K032001K.CNPJ.D01120.L00001 gs://cnpj_empresas/raw
```

Arquivos com dados cru carregados no Cloud Storage.

### 2\. Transformação via Dataflow

Para o processamento de dados **foi utilizado o Dataflow** [conheça mais aqui](https://www.youtube.com/watch?v=XdsuDOQ9nkU)) do Google Cloud. **Suas principais vantagens são:**

- Arquitetura serverless, auto escalável e distribuída;
- Portabilidade, uma vez que desenvolve em cima do Apache Beam e pode rodar seu código fora da cloud;
- Processamento em tempo real e em bateladas _(Beam = batch + stream_).

Essa é a parte mais complexa, pois **é necessário destrinchar todo o** [**dicionário de dados**](http://200.152.38.155/CNPJ/LAYOUT_DADOS_ABERTOS_CNPJ.pdf) disponibilizado pela Receita Federal e se atentar a **alguns detalhes**:

- São várias tabelas concatenadas uma em cima da outra dentro do mesmo arquivo. Elas se diferenciam pelo flag ‘Tipo do registro”. Foi utilizada a tabela das empresas e dos sócios, flags 1 e 2 respectivamente.
- Os campos estão delimitados por um tamanho fixo e não por algum caracter especial como nos arquivos padrões em CSV.
- Os arquivos estão em formato de codificação iso-8859 e não utf-8. Precisei criar um novo tipo de classe Coder para tratar isso ([esse link me ajudou](https://medium.com/@khushboo_16578/cloud-dataflow-and-iso-8859-1-2bb8763cc7c8)).
- Foi necessário tratar alguns formatos de data e de texto. Nada muito diferente da rotina de um engenheiro de dados.

Todo o código utilizado pode ser [encontrado no GitHub](https://github.com/igormsg/brazil_companies).

Pipeline de dados no Dataflow. Tabelas Empresas e Sócios.

Vale observar abaixo o poder do autoscale do Dataflow sugerindo aumentar para 69 workers de maneira otimizada à medida que os dados estavam sendo processados.

O poder do autoscale do Dataflow.

### 3\. Carga no Big Query

**Os dados processados no Dataflow foram carregados no [Big Query](https://www.youtube.com/watch?v=CFw4peH2UwU)**, uma ferramenta também **serverless** voltada para **Data Warehouse** em que você só paga pelo que utiliza.

Nessa etapa foram criados dois datasets. **Um raw** com os fatos e dimensões (os arquivos das dimensões estão no git) e **um trusted** com uma tabela fato unificada das empresas e sócios e filtrada apenas com as empresas ativas.

A tabela final possui quase 9GB e 22 milhões de linhas. Vale notar também que a tabela está particionada e clusterizada para ganhos de performance e redução de custos. Veja mais [detalhes aqui](https://cloud.google.com/bigquery/docs/partitioned-tables?hl=pt-br).

Tabela final com os dados processados de todas as empresas ativas.

Antes de carregar a tabela para visualização, **nada mais justo que fazer um sanity check para validar os dados.** Busquei pelo CNPJ da [BIX Tecnologia](https://bixtecnologia.com.br/) para ver o que o Big Query retorna.

Resultado do Big Query para o CNPJ da Bix Tecnologia.

Legal né? Em uma tabela de 9GB com 22 milhões de registros, o Big Query precisou processar 2,1GB e em menos de 3 segundos retornou as informações de uma única empresa.

**Será que tem como melhorar isso? Vale fazer um teste de performance** comparando uma consulta utilizando um filtro com campo particionado, que nesse caso é a data de abertura.

Note que a consulta com o filtro particionado levou apenas 0,3 segundos e apenas 13,5 MB para retornar os mesmos dados **(isso não foi cache da consulta anterior!)**. Com isso, foi possível reduzir custos e melhorar a performance **– bem vindo ao dia-a-dia da BIX!**

Consulta mais rápida e mais barata utilizando filtro particionado.

Falando em custo, todo o processamento custou por volta de R$7 e o armazenamento no Storage e no Big Query de todos os arquivos e tabelas custam míseros R$0,52 centavos por dia.

### 4\. Visualização no Qlik Sense

Uma vez que os dados estão todos organizadinhos no Big Query, fica fácil jogar para qualquer ferramenta de visualização para fazer **as análises e descobertas nos dados.**

Nesse caso utilizei o **[Qlik Sense](https://bixtecnologia.com.br/qliksense/)**, que é bem robusto para grande volume de dados, já tem conexão nativa com o Big Query e é um dos melhores para realizar data discovery.

Aqui consigo buscar informações de todas as empresas do Brasil pelo CNPJ, pelo nome dos sócios, pelo CNAE, pelo tamanho, pela cidade ou endereço. **Enfim, as possibilidades são infinitas!**

Como próximos passos poderia, por exemplo, adicionar uma base de tamanho da população e verificar qual cidade tem menos empresas com o mesmo CNAE da BIX Tecnologia per capita e definir onde será nossa próxima filial! 😉

Visualização dos dados no Qlik Sense.

## Conclusões sobre o processamento de dados públicos

**Processar dados públicos de todas as empresas do Brasil com o Google Cloud ficou mais fácil, né?** Utilizando a base da Receita Federal, foi possível **extrair** os dados e começar a trabalhar no **Google Cloud Storage.** Para o **processamento**, o **Dataflow** apresentou **vantagens** como sua arquitetura serverless, portabilidade e a possibilidade de um processamento em tempo real e em bateladas. Depois, os dados foram **carregados no** **Big Query** e otimizados através de um teste de performance. Por fim, **as análises e descobertas** foram feitas no **Qlik Sense**, uma das melhores plataformas para realizar data discovery. O que retiramos dessa experiência?

- Os dados são **públicos**, mas são disponibilizados em um emaranhado de arquivos e formatos que **nem todo mundo consegue de fato acessar.**
- Arquiteturas serverless na nuvem são bem **poderosas e acessíveis** **para processamento de grande volume de dados.**
- **Sempre é possível otimizar o pipeline de dados**, seja em performance ou custo.

Nesse post, você viu como processar dados com ferramentas sofisticadas e poderosas para utilizar nas mais diversas áreas. Esse é o tipo de case que a BIX desenvolve, somos uma consultoria de dados focada em resultados e negócios!

Quer saber mais sobre como aplicar dados na sua empresa? [Entre em contato conosco!](https://bixtecnologia.com.br/contato) Vamos buscar a melhor maneira de utilizar os dados para alavancar seus resultados!

\*_Artigo por [Igor Gois.](https://www.linkedin.com/in/igor-gois-br/)_

## Artigos relacionados

Engenharia de Dados

Análise de Dados

### [Contratos de dados: como evitar que o schema quebre pipelines](https://bixtecnologia.com.br/contratos-de-dados-schema-pipelines/)

Contratos de dados evitam que mudanças de schema quebrem pipelines.

28 de setembro de 2026

17 min de leitura

![Ilustração de dois pipelines de ingestão de dados, Airbyte e Fivetran, levando fontes a um data warehouse](https://bixtecnologia.com.br/img/cover_pt_5f29322add-960.webp)

Engenharia de Dados

Análise de Dados

### [Airbyte vs Fivetran: qual ferramenta de ingestão escolher](https://bixtecnologia.com.br/airbyte-vs-fivetran/)

Airbyte vs Fivetran: preço, conectores, CDC e custo para escolher.

18 de setembro de 2026

16 min de leitura

Machine Learning

Engenharia de Dados

### [Model registry: versionar e rastrear modelos em produção](https://bixtecnologia.com.br/model-registry-versionamento-modelos/)

O que o model registry guarda e como promover modelos até a produção.

15 de setembro de 2026

12 min de leitura

Engenharia de Dados

### [Change data capture com Debezium: do log ao lakehouse](https://bixtecnologia.com.br/change-data-capture-debezium/)

Como o change data capture com Debezium leva o banco ao lakehouse.

14 de setembro de 2026

13 min de leitura

![Ilustração de um modelo de machine learning distribuindo predições por três caminhos: batch agendado, endpoint online e stream de eventos](https://bixtecnologia.com.br/img/cover_pt_7d01d30c81-960.webp)

Machine Learning

Engenharia de Dados

### [Model serving: quando usar inferência batch ou online](https://bixtecnologia.com.br/model-serving-batch-online/)

Escolha o modo de model serving: batch, endpoint online ou stream.

8 de setembro de 2026

20 min de leitura

![Ilustração de três pilhas de camadas de metadados representando os formatos de tabela abertos Iceberg, Delta Lake e Hudi sobre um object storage, conectadas por linhas de interoperabilidade](https://bixtecnologia.com.br/img/cover_pt_a743083760-960.webp)

Engenharia de Dados

Análise de Dados

### [Iceberg, Delta Lake e Hudi: qual formato de tabela escolher](https://bixtecnologia.com.br/iceberg-delta-lake-hudi-formato-tabela/)

Iceberg, Delta Lake e Hudi: como escolher o formato de tabela do lakehouse.

3 de setembro de 2026

21 min de leitura

---

BIX Tecnologia · Contato: https://bixtecnologia.com.br/contato/
Índice do site para agentes: https://bixtecnologia.com.br/llms.txt

