Esta página apresenta matrizes de suporte abrangentes para as integrações de lago de dados do ClickHouse. Ela cobre os recursos disponíveis para cada formato de tabela aberto, os catálogos aos quais o ClickHouse pode se conectar e os recursos compatíveis com cada catálogo.
O suporte é exibido separadamente para o ClickHouse Cloud e o ClickHouse autogerenciado. Os recursos experimentais são desabilitados por padrão no ClickHouse Cloud e devem ser solicitados ao Suporte. A disponibilidade depende do recurso, portanto, entre em contato com o Suporte para confirmar se um recurso experimental específico pode ser habilitado. A configuração e as limitações específicas da implantação são descritas na coluna Observações.
Suporte a formatos de tabela abertos
O ClickHouse integra-se a quatro formatos de tabela abertos: Apache Iceberg, Delta Lake, Apache Hudi e Apache Paimon. Selecione um formato abaixo para ver a matriz de suporte correspondente.
Legenda: ✅ Suportado | ⚠️ Parcial, experimental ou obsoleto | ❌ Não suportado
| Recurso | ClickHouse Cloud | Autogerenciado | Observações |
|---|---|---|---|
| Backends de armazenamento | |||
| AWS S3 | ✅ | ✅ | Por meio de icebergS3() ou do alias iceberg() |
| GCS | ✅ | ✅ | Por meio de icebergS3() ou do alias iceberg() |
| Azure Blob Storage | ✅ | ✅ | Por meio de icebergAzure() |
| HDFS | ❌ | ⚠️ Descontinuado | Por meio de icebergHDFS() |
| Sistema de arquivos local | ❌ | ✅ | Por meio de icebergLocal() |
| Métodos de acesso | |||
| Função de tabela | ✅ | ✅ | icebergS3() com variantes para cada backend |
| Motor de tabela | ✅ | ✅ | IcebergS3 com variantes para cada backend |
| Leituras distribuídas no cluster | ✅ | ✅ | icebergS3Cluster, icebergAzureCluster, icebergHDFSCluster |
| Coleções nomeadas | ⚠️ | ✅ | Coleções nomeadas criadas por DDL podem ser habilitadas em determinados serviços do ClickHouse Cloud. Entre em contato com o Suporte para confirmar a disponibilidade. |
| Recursos de leitura | |||
| Suporte à leitura | ✅ | ✅ | Suporte completo a SELECT com todas as funções SQL do ClickHouse |
| Poda de partições | ✅ | ✅ | Consulte Poda de partições. |
| Particionamento oculto | ✅ | ✅ | Compatível com particionamento baseado em transformações do Iceberg |
| Evolução de partições | ✅ | ✅ | Compatível com a leitura de tabelas cujas especificações de partição mudam ao longo do tempo |
| Evolução de esquema | ✅ | ✅ | Adição, remoção e reordenação de colunas. Consulte Evolução de esquema. |
| Promoção / ampliação de tipo | ✅ | ✅ | int → long, float → double, decimal(P,S) → decimal(P',S) em que P' > P. Consulte Evolução de esquema. |
| Viagem no tempo / snapshots | ✅ | ✅ | Por meio das configurações iceberg_timestamp_ms ou iceberg_snapshot_id. Consulte Viagem no tempo. |
| Exclusões por posição | ✅ | ✅ | Consulte Processamento de linhas excluídas. |
| Exclusões por igualdade | ✅ | ✅ | Funções de tabela e motores de tabela, a partir da v25.8+. Consulte Processamento de linhas excluídas. |
| Merge-on-read | ⚠️ | ⚠️ | Experimental. Compatível com operações de exclusão. |
| Versões de formato | ⚠️ Parcial | ⚠️ Parcial | v1 e v2 são compatíveis. O suporte ao v3 é parcial; vetores de exclusão e compactação de manifestos não são compatíveis. |
| Estatísticas de colunas | ✅ | ✅ | |
| Filtros de Bloom / arquivos Puffin | ❌ | ❌ | Índices de filtro de Bloom em arquivos Puffin não são compatíveis |
| Colunas virtuais | ✅ | ✅ | _path, _file, _size, _time, _etag. Consulte Colunas virtuais. |
| Recursos de gravação | |||
| Criação de tabela | ⚠️ | ⚠️ | Experimental. Requer allow_insert_into_iceberg = 1. A partir da v25.7+. Consulte Criar uma tabela. |
INSERT |
✅ Beta | ✅ Beta | Beta a partir da versão 26.2. Requer allow_insert_into_iceberg = 1. Consulte Inserção de dados. |
DELETE |
⚠️ | ⚠️ | Experimental. Requer allow_insert_into_iceberg = 1. Por meio de ALTER TABLE ... DELETE WHERE. Consulte Exclusão de dados. |
ALTER TABLE (alterações de esquema) |
⚠️ | ⚠️ | Experimental. Requer allow_insert_into_iceberg = 1. Adicione, remova, modifique e renomeie colunas. Consulte Evolução de esquema. |
| Compactação | ⚠️ | ⚠️ | Experimental. Requer allow_experimental_iceberg_compaction = 1. Consulte Compactação. |
UPDATE / MERGE |
❌ | ❌ | Não compatível. Consulte Compactação. |
| Cópia na gravação | ❌ | ❌ | Não compatível |
| Expirar snapshots | ⚠️ | ⚠️ | Experimental. Requer Iceberg v2, allow_insert_into_iceberg = 1 e allow_experimental_expire_snapshots = 1. Consulte Expirar snapshots. |
| Remover arquivos órfãos | ⚠️ | ⚠️ | Experimental. Requer Iceberg v2 ou superior, allow_insert_into_iceberg = 1 e allow_iceberg_remove_orphan_files = 1. Consulte Remover arquivos órfãos. |
| Gravação de partições | ✅ Beta | ✅ Beta | Compatível com gravações em tabelas Iceberg. |
| Alteração de partições | ❌ | ❌ | Não há suporte para alterar o esquema de particionamento no ClickHouse. O ClickHouse pode gravar em tabelas Iceberg com um esquema de particionamento evoluído. |
| Metadados | |||
| Ramificações e tags | ❌ | ❌ | Referências a ramificações e tags do Iceberg não são compatíveis |
| Resolução de arquivo de metadados | ✅ | ✅ | Compatível com resolução por meio de catálogos, listagem de diretórios, version-hint e um caminho específico. Consulte Resolução de arquivo de metadados. |
| Cache de dados | ✅ | ✅ | Mesmo mecanismo dos motores de armazenamento S3/Azure/HDFS. Consulte Cache de dados. |
| Cache de metadados | ✅ | ✅ | Habilitado por padrão por meio de use_iceberg_metadata_files_cache. Consulte Cache de metadados. |
A partir da versão 25.6, o ClickHouse lê tabelas Delta Lake usando o kernel Rust do Delta Lake, oferecendo suporte a mais recursos. No entanto, há problemas conhecidos ao acessar dados no Azure Blob Storage. Por esse motivo, o Kernel é desativado ao ler dados no Azure Blob Storage. A seguir, indicamos quais recursos exigem esse kernel.
| Recurso | ClickHouse Cloud | Autogerenciado | Observações |
|---|---|---|---|
| Backends de armazenamento | |||
| AWS S3 | ✅ | ✅ | Por meio de deltaLake() ou deltaLakeS3() |
| GCS | ✅ | ✅ | Por meio de deltaLake() ou deltaLakeS3() |
| Azure Blob Storage | ✅ | ✅ | Por meio de deltaLakeAzure() |
| HDFS | ❌ | ❌ | Não compatível |
| Sistema de arquivos local | ❌ | ✅ | Por meio de deltaLakeLocal() |
| Métodos de acesso | |||
| Função de tabela | ✅ | ✅ | deltaLake() com variantes para cada backend |
| Motor de tabela | ✅ | ✅ | DeltaLake |
| Leituras distribuídas no cluster | ✅ | ✅ | deltaLakeCluster, deltaLakeAzureCluster |
| Coleções nomeadas | ⚠️ | ✅ | Coleções nomeadas criadas por DDL podem ser habilitadas em determinados serviços do ClickHouse Cloud. Entre em contato com o Suporte para confirmar a disponibilidade. |
| Recursos de leitura | |||
| Suporte a leitura | ✅ | ✅ | Suporte completo a SELECT com todas as funções do ClickHouse SQL |
| Poda de partições | ✅ Beta | ✅ Beta | Exige o Delta Kernel. |
| Evolução de esquema | ✅ Beta | ✅ Beta | Exige o Delta Kernel. |
| Viagem no tempo | ✅ Beta | ✅ Beta | Exige o Delta Kernel. |
| Vetores de exclusão | ✅ | ✅ | |
| Mapeamento de colunas | ✅ | ✅ | |
| Feed de alterações de dados | ✅ Beta | ✅ Beta | Exige o Delta Kernel. |
| Colunas virtuais | ✅ | ✅ | _path, _file, _size, _time, _etag. Consulte Colunas virtuais. |
| Recursos de gravação | |||
INSERT |
✅ Beta | ✅ Beta | Exige o Delta Kernel. As gravações são compatíveis com S3 e GCS; gravações no Azure não são compatíveis. Exige allow_delta_lake_writes = 1 a partir da v26.7; em versões anteriores, use allow_experimental_delta_lake_writes = 1. Consulte Gravações no Delta Lake. |
DELETE / UPDATE / MERGE |
❌ | ❌ | Não compatível |
| Criar tabela vazia | ❌ | ❌ | A operação CREATE TABLE pressupõe que a tabela Delta Lake já exista no armazenamento de objetos. |
| Armazenamento em cache | |||
| Cache de dados | ✅ | ✅ | Mesmo mecanismo usado pelos motores de armazenamento S3/Azure/HDFS. Consulte Cache de dados. |
| Recurso | ClickHouse Cloud | Autogerenciado | Observações |
|---|---|---|---|
| Backends de armazenamento | |||
| AWS S3 | ✅ | ✅ | Por meio de hudi() |
| GCS | ✅ | ✅ | Por meio de hudi() |
| Azure Blob Storage | ❌ | ❌ | Não compatível |
| HDFS | ❌ | ❌ | Não compatível |
| Sistema de arquivos local | ❌ | ❌ | Não compatível |
| Métodos de acesso | |||
| Função de tabela | ✅ | ✅ | hudi() |
| Motor de tabela | ✅ | ✅ | Hudi |
| Leituras distribuídas pelo cluster | ✅ | ✅ | hudiCluster (somente S3) |
| Coleções nomeadas | ⚠️ | ✅ | Coleções nomeadas criadas por DDL podem ser habilitadas em determinados serviços do ClickHouse Cloud. Entre em contato com o Suporte para confirmar a disponibilidade. |
| Recursos de leitura | |||
| Suporte à leitura | ✅ | ✅ | Suporte completo a SELECT com todas as funções SQL do ClickHouse |
| Evolução de esquema | ❌ | ❌ | Não compatível |
| Viagem no tempo | ❌ | ❌ | Não compatível |
| Colunas virtuais | ✅ | ✅ | _path, _file, _size, _time, _etag. Consulte Colunas virtuais. |
| Recursos de gravação | |||
INSERT / DELETE / UPDATE |
❌ | ❌ | Integração somente leitura |
| Armazenamento em cache | |||
| Cache de dados | ❌ | ❌ | Não compatível |
| Recurso | ClickHouse Cloud | Autogerenciado | Observações |
|---|---|---|---|
| Backends de armazenamento | |||
| S3 | ⚠️ | ⚠️ | Experimental. Por meio de paimon() ou paimonS3() |
| GCS | ⚠️ | ⚠️ | Experimental. Por meio de paimon() ou paimonS3() |
| Azure Blob Storage | ⚠️ | ⚠️ | Experimental. Por meio de paimonAzure() |
| HDFS | ❌ | ⚠️ | Experimental e obsoleto. Por meio de paimonHDFS() |
| Sistema de arquivos local | ❌ | ⚠️ | Experimental. Por meio de paimonLocal() |
| Métodos de acesso | |||
| Função de tabela | ⚠️ | ⚠️ | Experimental. paimon() com variantes para cada backend |
| Motor de tabela | ⚠️ | ⚠️ | Experimental. Paimon com variantes para cada backend. Requer allow_experimental_paimon_storage_engine = 1. |
| Leituras distribuídas pelo cluster | ⚠️ | ⚠️ | Experimental. paimonS3Cluster, paimonAzureCluster, paimonHDFSCluster |
| Coleções nomeadas | ⚠️ | ⚠️ | Experimental. Coleções nomeadas criadas por DDL podem ser ativadas em alguns serviços do ClickHouse Cloud. Entre em contato com o Suporte para confirmar a disponibilidade. |
| Recursos de leitura | |||
| Suporte a leitura | ⚠️ | ⚠️ | Experimental. Suporte completo a SELECT com todas as funções SQL do ClickHouse |
| Evolução de esquema | ❌ | ❌ | Não suportado |
| Viagem no tempo | ❌ | ❌ | Não suportado |
| Colunas virtuais | ⚠️ | ⚠️ | Experimental. _path, _file, _size, _time, _etag. Consulte Colunas virtuais. |
| Recursos de gravação | |||
INSERT / DELETE / UPDATE |
❌ | ❌ | Integração somente leitura |
| Cacheamento | |||
| Cacheamento de dados | ❌ | ❌ | Não suportado |
Suporte a catálogos
O ClickHouse pode se conectar a catálogos de dados externos usando o engine de banco de dados DataLakeCatalog, que expõe o catálogo como um banco de dados no ClickHouse. As tabelas registradas no catálogo aparecem automaticamente e podem ser consultadas com SQL padrão.
No momento, os catálogos abaixo são compatíveis. Consulte o guia de referência de cada catálogo para ver as instruções completas de configuração.
| Catálogo | Formatos | Leitura | Criar tabela | INSERT | Guia de referência |
|---|---|---|---|---|---|
| AWS Glue Catalog | Iceberg | ✅ Beta | ❌ | ❌ | Guia do AWS Glue catalog |
| BigLake Metastore | Iceberg | ✅ Beta | ❌ | ❌ | Guia do BigLake Metastore |
| Databricks Unity Catalog | Delta, Iceberg | ✅ Beta | ✅ Beta | ✅ Beta | Guia do Unity Catalog |
| Iceberg REST | Iceberg | ✅ Beta | ❌ | ❌ | Guia do REST catalog |
| Lakekeeper | Iceberg | ✅ Beta | ❌ | ❌ | Guia do catálogo Lakekeeper |
| Project Nessie | Iceberg | ✅ Experimental | ❌ | ❌ | Guia do catálogo Nessie |
| Microsoft OneLake | Iceberg | ✅ Beta | ✅ Beta | ✅ Beta | Guia do catálogo OneLake |
| SeaweedFS | Iceberg | ✅ Beta | ✅ Beta | ✅ Beta | Guia do catálogo SeaweedFS |
Atualmente, todas as integrações de catálogo exigem que uma configuração experimental ou beta esteja habilitada. Com exceção do Microsoft OneLake, do Databricks Unity Catalog e do SeaweedFS, todos os catálogos expõem acesso somente leitura — as tabelas podem ser consultadas, mas não podem ser criadas nem receber gravações por meio da conexão com o catálogo. Para carregar dados de um catálogo no ClickHouse e acelerar as análises, use INSERT INTO SELECT conforme descrito no guia de aceleração de análises. Para gravar dados de volta em formatos de tabela abertos, crie tabelas Iceberg independentes conforme descrito no guia de gravação de dados.