DataLakeCatalog com catalog_type = 'horizon'.
O Horizon é relacionado ao Snowflake Open Catalog / Polaris auto-hospedado, mas não é o mesmo:
Como este recurso está em beta, habilite-o com:
SET allow_experimental_database_iceberg = 1;
(ou SET allow_database_iceberg = 1;, dependendo da versão do ClickHouse).Pré-requisitos
- Uma conta Snowflake com tabelas Iceberg gerenciadas pela Snowflake
- Endpoint REST do Horizon Iceberg:
https://<organization>-<account>.snowflakecomputing.com/polaris/api/catalog - Uma função do Snowflake com privilégios nas tabelas Iceberg (e privilégios de gravação se você for executar INSERT)
- Autenticação por um dos seguintes métodos:
- Token de acesso programático (PAT)
- JWT de par de chaves trocado por um token de acesso
- Token de acesso OAuth externo (como
auth_headerdo tipo bearer)
- Armazenamento de objetos acessível pelo ClickHouse (recomendam-se credenciais fornecidas)
- ClickHouse com suporte ao DataLakeCatalog Iceberg
Criar uma conexão
Opção A: token de acesso programático (recomendado)
warehouse deve ser o nome do banco de dados no Snowflake (não de um warehouse virtual do Snowflake).
Identificadores do Snowflake sem aspas são escritos em maiúsculas.
Opção B: Token de acesso Bearer obtido previamente
Consultar tabelas Iceberg
O espaço de nomes (schema) e a tabela geralmente são referenciados como
`SCHEMA.table`, a menos que
os espaços de nomes experimentais para tabelas estejam habilitados.Caminho de gravação
CREATE TABLE depende do suporte a escrita do ClickHouse Iceberg / DataLakeCatalog para catálogos REST
na versão em uso; falhas de privilégio no Snowflake são exibidas como erros HTTP do catálogo.