DEV Community

geekecia
geekecia

Posted on Originally published at tiptools.com.br

Como ler e inspecionar arquivos Apache Parquet no navegador sem backend

Se você trabalha com engenharia de dados, analytics ou pipelines em Python/Spark, com certeza já precisou dar uma olhada rápida na estrutura ou em algumas linhas de um arquivo .parquet e teve que abrir um notebook Jupyter ou script local só para isso.

A alternativa imediata costuma ser procurar um "visualizador de parquet online". Mas aí surge o dilema clássico: segurança e privacidade. Parquet é frequentemente usado para armazenar data lakes e datasets corporativos com dados confidenciais ou sensíveis. Fazer upload desse arquivo para o servidor de um site desconhecido é um risco enorme de compliance (LGPD / GDPR).

Para resolver essa dor, construímos o Visualizador de Parquet do TipTools, que roda 100% no navegador (client-side), garantindo que nenhum byte do seu arquivo saia da sua máquina.


Como funciona ler Parquet puramente no Front-end?

O Apache Parquet é um formato colunar binário compacto que utiliza compressões como Snappy, Gzip ou ZSTD e dicionários de encoding. Decodificar isso diretamente em JavaScript parecia complexo até o surgimento de bibliotecas modernas e otimizações com ArrayBuffer.

  1. Leitura com hyparquet e TypedArrays:
    Quando o usuário seleciona ou arrasta o arquivo .parquet, a aplicação lê o arquivo localmente como um ArrayBuffer usando a API FileReader / Blob.arrayBuffer().
    A biblioteca hyparquet lê os metadados do rodapé do arquivo (onde está gravado o schema das colunas e a lista de row groups) sem precisar carregar o arquivo inteiro na memória de uma só vez.

  2. Inspeção de Schema Instantânea:
    Os tipos de dados de cada coluna (INT64, UTF8, TIMESTAMP, BOOLEAN, etc.) e estatísticas de min/max são extraídos diretamente dos metadados dos Row Groups em milissegundos.

  3. Paginação e Virtualização:
    Para não travar a thread de renderização da interface quando o arquivo tem dezenas de milhares de registros, os dados decodificados são paginados e renderizados sob demanda.

  4. Conversão e Exportação Local:
    O leitor permite exportar os dados inspecionados para CSV ou JSON formatado diretamente pela memória do browser, utilizando URL.createObjectURL para download direto.


Segurança em Primeiro Lugar

Ao abrir arquivos na ferramenta:

  • ❌ Nenhum arquivo é enviado para servidores da nuvem.
  • ❌ Nenhum backend armazena logs ou dados dos seus registros.
  • ✅ Tudo é processado na memória RAM local do seu navegador.

A ferramenta está no ar e é gratuita:
👉 Acessar Visualizador de Parquet no TipTools

Além do leitor de Parquet, o TipTools conta com mais de 100 utilitários gratuitos para desenvolvedores (Diff Checker, formatador JSON, geradores de hashes, comparadores e validadores).

Testem e me digam o que acharam da velocidade de leitura e da visualização das colunas!

Top comments (0)