Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Catálogo Polaris

Funcionalidad beta

ClickHouse admite la integración con varios catálogos (Unity, Glue, Polaris, etc.). En esta guía, le mostraremos cómo consultar sus datos con ClickHouse y el catálogo Apache Polaris. Apache Polaris admite tablas Iceberg y tablas Delta (mediante Generic Tables). Por el momento, esta integración solo admite tablas Iceberg.

Requisitos previos

Para conectarse al catálogo Polaris, necesitará lo siguiente:

  • Snowflake Open Catalog (Polaris alojado) o Polaris Catalog autohospedado
  • El URI de su catálogo Polaris (por ejemplo, https://<account-id>.<region>.aws.snowflakecomputing.com/polaris/api/catalog/v1 o http://polaris:8181/api/catalog/v1/oauth/tokens)
  • Las credenciales del catálogo (ID de cliente y secreto de cliente)
  • El URI de los tokens de OAuth para su instancia de Polaris
  • El endpoint de almacenamiento del almacén de objetos donde se encuentran sus datos de Iceberg (por ejemplo, S3)
  • ClickHouse versión 26.1+

En Open Catalog, la oferta de Polaris gestionada por Snowflake, el URI incluirá /polaris, mientras que en una implementación autohospedada puede que no lo incluya.

Creación de una conexión entre Polaris y ClickHouse

Cree una base de datos que conecte ClickHouse con su 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>'

Consultar el catálogo Polaris con ClickHouse

Una vez establecida la conexión, puede consultar Polaris:

Consultasql
USE polaris_catalog;
SHOW TABLES;

Para consultar una tabla:

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

Para inspeccionar el DDL de la tabla:

SHOW CREATE TABLE `polaris_db.my_iceberg_table`;

Cargar datos de Polaris en ClickHouse

Para cargar datos de Polaris en una tabla de ClickHouse, cree la tabla de destino con el esquema que desee y, a continuación, inserte los datos desde la tabla de Polaris:

Consultasql
CREATE TABLE my_clickhouse_table
(
    -- defina las columnas para que coincidan con su tabla 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