Pular para o conteúdo principal
Nos guias anteriores, você consultou formatos de tabela abertos diretamente e carregou dados no MergeTree para análises rápidas. Em muitas arquiteturas, os dados também precisam fluir na direção oposta — do ClickHouse de volta para formatos de tabela abertos. Dois cenários comuns motivam isso:
  • Transferência para armazenamento de longo prazo - Os dados chegam ao ClickHouse como uma camada de analytics em tempo real, alimentando dashboards e relatórios operacionais. Quando os dados ultrapassam sua janela de tempo real, eles podem ser gravados no Iceberg em armazenamento de objetos para retenção durável e econômica em um formato interoperável.
  • ETL reverso - Transformações, agregações e enriquecimento realizados dentro do ClickHouse produzem conjuntos de dados derivados que ferramentas downstream e outras equipes precisam consumir. Gravar esses resultados em tabelas Iceberg os disponibiliza para todo o ecossistema de dados.
Em ambos os casos, INSERT INTO SELECT permite mover dados de tabelas do ClickHouse para tabelas Iceberg armazenadas em armazenamento de objetos.
No momento, a gravação em formatos de tabela abertos é compatível apenas com tabelas Iceberg. O suporte parcial para tabelas Delta Lake está em desenvolvimento. As tabelas não devem ser gerenciadas por um catálogo.

Prepare um dataset de origem

Para este guia, usaremos o dataset UK Price Paid — um registro público de todas as transações de imóveis residenciais na Inglaterra e no País de Gales.
Popule a tabela diretamente a partir da fonte CSV pública:

Gravar dados em uma tabela Iceberg

Criar a tabela Iceberg

Para gravar dados no Iceberg, crie uma tabela usando o motor de tabela IcebergS3. Observe que o esquema precisa ser simplificado em comparação com a tabela de origem no MergeTree. O ClickHouse oferece suporte a um sistema de tipos mais rico que o Iceberg e os arquivos Parquet subjacentes — tipos como Enum, LowCardinality e UInt8 não são compatíveis com o Iceberg e precisam ser mapeados para tipos compatíveis.

Insira um subconjunto dos dados

Use INSERT INTO SELECT para gravar dados da tabela MergeTree na tabela Iceberg. Neste exemplo, gravamos apenas as transações de Londres:

Consulte a tabela Iceberg

Os dados agora estão armazenados no formato Iceberg em armazenamento de objetos e podem ser consultados a partir do ClickHouse — ou de qualquer outra ferramenta que leia Iceberg:

Gravar resultados agregados

As tabelas Iceberg não se limitam a armazenar linhas brutas. Elas também podem armazenar a saída de agregações e transformações — os resultados de processos de ETL executados no ClickHouse. Isso é útil para publicar resumos pré-computados em um lakehouse para consumo downstream.

Criar uma tabela Iceberg para dados agregados

Inserir dados agregados

Calcule o preço médio dos imóveis por cidade e grave os resultados diretamente no Iceberg:

Consulte a tabela agregada

Outras ferramentas — e outras instâncias do ClickHouse — agora podem ler esse conjunto de dados pré-calculado:
Última modificação em 10 de junho de 2026