A resposta curta
- Apache Parquet é um formato binário de dados em colunas que armazena tabelas em grupos de linhas e blocos de colunas, cuja leitura depende dos recursos aceitos pelo leitor.
- Em um computador Windows ou Mac com Python e PyArrow disponíveis, execute import pyarrow.parquet as pq e table = pq.read_table('arquivo.parquet'). Use table.to_pandas() para obter um DataFrame. Para selecionar colunas, use pq.read_table('arquivo.parquet', columns=['coluna']); para um grupo de linhas, pq.ParquetFile('arquivo.parquet').read_row_group(0). Os exemplos leem um arquivo local em um computador; se o arquivo estiver no celular, copie-o para um computador e siga os mesmos passos.
- Não se espera conteúdo executável em Parquet, mas ele pode conter dados arbitrários ou sensíveis. A implementação e a configuração do leitor importam: CVE-2025-46762 descreve execução de código no parquet-avro com os modelos specific ou reflect. O modelo generic não é afetado por essa vulnerabilidade, e o registro recomenda atualizar para 1.15.2. Isso não exclui outros riscos. A criptografia modular pode deixar regiões sem criptografia; AES CTR sozinho não autentica os dados.
Arquivos Apache Parquet: abrir, ler e converter
A extensão registrada é .parquet e o tipo de mídia é application/vnd.apache.parquet. Cada grupo de linhas contém blocos de colunas. Os metadados próximos ao fim permitem localizar os blocos necessários; em seguida vêm o tamanho dos metadados em quatro bytes little-endian e o marcador final. Arquivos comuns usam PAR1; arquivos com rodapé criptografado usam PARE. Consulte a [descrição oficial do formato](https://parquet.apache.org/docs/file-format/).
Leia o arquivo como tabela Arrow e use table.to_pandas() se precisar de pandas. Para converter Parquet para CSV, exporte depois com uma ferramenta que aceite CSV. Confira o resultado: detalhes da aplicação, como o índice do pandas, podem não ser preservados. Para gravar Parquet, use pq.write_table(table, 'saida.parquet'). Um índice omitido na criação da tabela Arrow não será restaurado ao ler o Parquet.
Como abrir
Em um computador Windows ou Mac com Python e PyArrow disponíveis, execute import pyarrow.parquet as pq e table = pq.read_table('arquivo.parquet'). Use table.to_pandas() para obter um DataFrame. Para selecionar colunas, use pq.read_table('arquivo.parquet', columns=['coluna']); para um grupo de linhas, pq.ParquetFile('arquivo.parquet').read_row_group(0). Os exemplos leem um arquivo local em um computador; se o arquivo estiver no celular, copie-o para um computador e siga os mesmos passos.
Em um computador Windows ou Mac com Python e PyArrow disponíveis, execute import pyarrow.parquet as pq e table = pq.read_table('arquivo.parquet'). Use table.to_pandas() para obter um DataFrame. Para selecionar colunas, use pq.read_table('arquivo.parquet', columns=['coluna']); para um grupo de linhas, pq.ParquetFile('arquivo.parquet').read_row_group(0). Os exemplos leem um arquivo local em um computador; se o arquivo estiver no celular, copie-o para um computador e siga os mesmos passos.
Leia o arquivo como tabela Arrow e use table.to_pandas() se precisar de pandas. Para converter Parquet para CSV, exporte depois com uma ferramenta que aceite CSV. Confira o resultado: detalhes da aplicação, como o índice do pandas, podem não ser preservados. Para gravar Parquet, use pq.write_table(table, 'saida.parquet'). Um índice omitido na criação da tabela Arrow não será restaurado ao ler o Parquet.
Segurança
Não se espera conteúdo executável em Parquet, mas ele pode conter dados arbitrários ou sensíveis. A implementação e a configuração do leitor importam: CVE-2025-46762 descreve execução de código no parquet-avro com os modelos specific ou reflect. O modelo generic não é afetado por essa vulnerabilidade, e o registro recomenda atualizar para 1.15.2. Isso não exclui outros riscos. A criptografia modular pode deixar regiões sem criptografia; AES CTR sozinho não autentica os dados.
Remetente desconhecido, nome terminando em duas extensões ou conteúdo que não bate com a extensão: confira antes de abrir.
Como converter
Leia o arquivo como tabela Arrow e use table.to_pandas() se precisar de pandas. Para converter Parquet para CSV, exporte depois com uma ferramenta que aceite CSV. Confira o resultado: detalhes da aplicação, como o índice do pandas, podem não ser preservados. Para gravar Parquet, use pq.write_table(table, 'saida.parquet'). Um índice omitido na criação da tabela Arrow não será restaurado ao ler o Parquet.
Converta uma cópia, nunca o original, e depois compare qualidade, metadados e diagramação com o arquivo de partida.
Perguntas frequentes
O que é um arquivo Parquet e para que serve?
É um arquivo binário que armazena dados tabulares por colunas. Os grupos de linhas contêm blocos de colunas, permitindo que um leitor compatível recupere apenas as colunas necessárias.
Como ler arquivo Parquet com Python?
Com PyArrow disponível, execute import pyarrow.parquet as pq e table = pq.read_table('arquivo.parquet'). O resultado é uma tabela Arrow; table.to_pandas() a converte em um DataFrame do pandas.
Como abrir arquivo Parquet no Windows?
Em um ambiente Python no Windows com PyArrow disponível, use pyarrow.parquet.read_table('arquivo.parquet'). Use to_pandas() se precisar de um DataFrame. O leitor deve aceitar os recursos usados no arquivo.
Como abrir arquivo Parquet no Mac?
Em um ambiente Python no Mac com PyArrow disponível, use pyarrow.parquet.read_table('arquivo.parquet'). Para selecionar colunas, acrescente columns=['coluna']. Verifique a compatibilidade dos recursos do arquivo com o leitor.
Como abrir arquivo Parquet no celular?
Copie o arquivo do celular para um computador e leia-o com Python e PyArrow usando pyarrow.parquet.read_table('arquivo.parquet'). Nenhum aplicativo específico de celular é recomendado aqui.
Como resolver erro de compatibilidade ao ler Parquet?
Confira se o leitor aceita as codificações usadas e Data Page V2. Um leitor antigo pode não decodificar recursos sem suporte; um tipo lógico desconhecido pode aparecer como seu tipo físico subjacente. Use um leitor compatível com esses recursos.
É melhor ler a tabela Parquet inteira ou apenas colunas selecionadas?
Leia a tabela inteira quando precisar de todas as colunas. Para campos específicos, use o argumento columns do PyArrow. Também é possível ler grupos de linhas individuais para evitar a leitura da tabela completa.
Como converter Parquet para CSV?
Leia Parquet com PyArrow e, se necessário, converta a tabela para pandas com to_pandas(). Depois exporte com uma ferramenta compatível com CSV. Confira o resultado: detalhes da aplicação, como o índice do pandas, podem não ser preservados.
Por que há um índice perdido de Parquet para pandas após salvar e ler?
Se o índice original do pandas não foi preservado ao criar a tabela Arrow, salvar e ler Parquet não o recupera. Confira a opção de preservação do índice antes de salvar e compare o DataFrame recuperado com o original.
É seguro abrir um arquivo Parquet?
A extensão não determina a segurança. O arquivo pode conter dados sensíveis, e leitores podem ter vulnerabilidades. CVE-2025-46762 afeta os modos specific e reflect do parquet-avro e recomenda atualizar para 1.15.2; generic não é afetado por essa vulnerabilidade específica.
O que verificar antes de ler arquivo Parquet criptografado?
Confira se o leitor aceita os recursos de criptografia usados. A criptografia modular pode proteger colunas e rodapé separadamente, deixando outras regiões em texto claro. AES CTR sozinho não fornece autenticação; criptografia não implica sempre proteção completa de integridade.
Formatos relacionados
Fontes
IANA — application/vnd.apache.parquet · IANA 官方媒体类型登记
Apache Parquet — File Format · Apache Parquet 官方格式文档
Apache Arrow — Reading and Writing Single Files · Apache Arrow 官方使用文档
Apache Parquet — Parquet format versions · Apache Parquet 官方兼容性文档
CVE-2025-46762 · CVE 官方漏洞记录;分配机构为 Apache Software Foundation
Apache Parquet — Modular Encryption · Apache Parquet 官方加密规范