Skip to main content
Parquet é um formato de arquivo eficiente para armazenar dados de forma colunar. O ClickHouse oferece suporte tanto para leitura quanto para gravação de arquivos Parquet.
Quando você faz referência a um caminho de arquivo em uma consulta, o local de onde o ClickHouse tentará ler dependerá da variante do ClickHouse que você está usando.Se você estiver usando clickhouse-local, ele lerá de um local relativo a onde você iniciou o ClickHouse Local. Se você estiver usando ClickHouse Server ou ClickHouse Cloud por meio do clickhouse client, ele lerá de um local relativo ao diretório /var/lib/clickhouse/user_files/ no servidor.

Importando de Parquet

Antes de carregar os dados, podemos usar a função file() para explorar a estrutura de um arquivo Parquet de exemplo:
Usamos Parquet como segundo argumento, para que o ClickHouse saiba qual é o formato do arquivo. Isso exibirá as colunas com os tipos:
Também podemos explorar arquivos antes de realmente importar os dados, aproveitando todo o poder do SQL:
Podemos dispensar a definição explícita do formato para file() e INFILE/OUTFILE. Nesse caso, o ClickHouse detectará automaticamente o formato com base na extensão do arquivo.

Importando para uma tabela existente

Vamos criar uma tabela na qual importaremos dados Parquet:
Agora podemos importar os dados usando a cláusula FROM INFILE:
Observe que o ClickHouse converteu automaticamente as strings do Parquet (na coluna date) para o tipo Date. Isso acontece porque o ClickHouse faz essa conversão de tipo automaticamente com base nos tipos da tabela de destino.

Inserindo um arquivo local em um servidor remoto

Se você quiser inserir um arquivo Parquet local em um servidor remoto do ClickHouse, pode fazer isso enviando o conteúdo do arquivo por pipe para o clickhouse-client, como mostrado abaixo:

Criando novas tabelas a partir de arquivos Parquet

Como o ClickHouse lê o esquema do arquivo Parquet, podemos criar tabelas dinamicamente:
Isso criará e preencherá automaticamente uma tabela a partir de um arquivo Parquet especificado:
Por padrão, o ClickHouse é rigoroso com nomes de colunas, tipos e valores. Mas, às vezes, é possível ignorar colunas inexistentes ou valores não compatíveis durante a importação. Isso pode ser controlado com as configurações do Parquet.

Exportando para o formato Parquet

Ao usar INTO OUTFILE com o ClickHouse Cloud, você precisará executar os comandos no clickhouse client na máquina em que o arquivo será salvo.
Para exportar qualquer tabela ou resultado de consulta para um arquivo Parquet, podemos usar uma cláusula INTO OUTFILE:
Isso criará o arquivo export.parquet no diretório de trabalho.

Tipos de dados do ClickHouse e do Parquet

Os tipos de dados do ClickHouse e do Parquet são, em sua maioria, idênticos, mas ainda apresentam algumas diferenças. Por exemplo, o ClickHouse exporta o tipo DateTime como int64 do Parquet. Se depois importarmos isso de volta para o ClickHouse, veremos números (arquivo time.parquet):
Nesse caso, conversão de tipo pode ser usada:

Leitura adicional

O ClickHouse oferece suporte a diversos formatos, tanto de texto quanto binários, para atender a vários cenários e plataformas. Explore mais formatos e formas de trabalhar com eles nos artigos a seguir: E confira também o clickhouse-local — uma ferramenta portátil e completa para trabalhar com arquivos locais/remotos sem precisar de um servidor ClickHouse.
Última modificação em 23 de julho de 2026