Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Catálogo Polaris

Recurso beta

O ClickHouse oferece suporte à integração com vários catálogos (Unity, Glue, Polaris, etc.). Neste guia, mostraremos as etapas para consultar seus dados usando o ClickHouse e o catálogo Apache Polaris. O Apache Polaris oferece suporte a tabelas Iceberg e Delta Tables (por meio de Generic Tables). No momento, esta integração oferece suporte apenas a tabelas Iceberg.

Pré-requisitos

Para se conectar ao catálogo Polaris, você precisará de:

  • Snowflake Open Catalog (Polaris hospedado) ou catálogo Polaris self-hosted
  • O URI do seu catálogo Polaris (por exemplo, https://<account-id>.<region>.aws.snowflakecomputing.com/polaris/api/catalog/v1 ou http://polaris:8181/api/catalog/v1/oauth/tokens)
  • Credenciais do catálogo (ID do cliente e segredo do cliente)
  • O URI dos tokens OAuth da sua instância do Polaris
  • Endpoint de armazenamento do armazenamento de objetos onde seus dados Iceberg estão (por exemplo, S3)
  • ClickHouse versão 26.1+

Para o Open Catalog, a oferta gerenciada Polaris da Snowflake, seu URI incluirá /polaris, enquanto na versão self-hosted isso pode não ocorrer.

Criando uma conexão entre Polaris e ClickHouse

Crie um banco de dados que conecte o ClickHouse ao seu catálogo Polaris:

CREATE DATABASE polaris_catalog
ENGINE = DataLakeCatalog('https://<catalog_uri>/api/catalog/v1')
SETTINGS
    catalog_type = 'rest',
    catalog_credential = '<client-id>:<client-secret>',
    warehouse = 'snowflake',
    auth_scope = 'PRINCIPAL_ROLE:ALL',
    oauth_server_uri = 'https://<catalog_uri>/api/catalog/v1/oauth/tokens',
    storage_endpoint = '<storage_endpoint>'

Consulte o catálogo Polaris usando o ClickHouse

Depois que a conexão estiver estabelecida, você poderá consultar o Polaris:

Consultasql
USE polaris_catalog;
SHOW TABLES;

Para consultar uma tabela:

Consultasql
SELECT count(*) FROM `polaris_db.my_iceberg_table`;

Para inspecionar o DDL da tabela:

SHOW CREATE TABLE `polaris_db.my_iceberg_table`;

Carregando dados do Polaris para o ClickHouse

Para carregar dados do Polaris em uma tabela do ClickHouse, crie a tabela de destino com o schema desejado e depois faça a inserção a partir da tabela do Polaris:

Consultasql
CREATE TABLE my_clickhouse_table
(
    -- defina as colunas para corresponder à sua tabela Iceberg
    `id` Int64,
    `name` String,
    `event_time` DateTime64(3)
)
ENGINE = MergeTree
ORDER BY id;

INSERT INTO my_clickhouse_table
SELECT * FROM polaris_catalog.`polaris_db.my_iceberg_table`;
Navigation