Pular para o conteúdo principal
O mecanismo de banco de dados DataLakeCatalog permite conectar o ClickHouse a catálogos de dados externos e consultar dados em formatos abertos de tabela sem a necessidade de duplicação de dados. Isso transforma o ClickHouse em um poderoso motor de consulta que se integra perfeitamente à sua infraestrutura de lago de dados existente.

Catálogos compatíveis

O mecanismo DataLakeCatalog oferece suporte aos seguintes catálogos de dados:
  • AWS Glue Catalog - Para tabelas Iceberg em ambientes AWS
  • Databricks Unity Catalog - Para tabelas Delta Lake e Iceberg
  • Hive Metastore - Catálogo tradicional do ecossistema Hadoop
  • REST Catalogs - Qualquer catálogo compatível com a especificação REST do Iceberg

Criando um banco de dados

Para usar o mecanismo DataLakeCatalog, você precisará habilitar as configurações relevantes abaixo:
SET allow_experimental_database_iceberg = 1;
SET allow_experimental_database_unity_catalog = 1;
SET allow_experimental_database_glue_catalog = 1;
SET allow_experimental_database_hms_catalog = 1;
SET allow_experimental_database_paimon_rest_catalog = 1;
Bancos de dados com o mecanismo DataLakeCatalog podem ser criados usando a sintaxe a seguir:
CREATE DATABASE database_name
ENGINE = DataLakeCatalog(catalog_endpoint[, user, password])
SETTINGS
catalog_type,
[...]
As configurações a seguir são suportadas:
ConfiguraçãoDescrição
catalog_typeTipo de catálogo: glue, unity (Delta), rest (Iceberg), hive, onelake (Iceberg)
warehouseNome do warehouse/banco de dados a ser usado no catálogo.
catalog_credentialCredencial de autenticação para o catálogo (por exemplo, chave de API ou token)
auth_headerCabeçalho HTTP personalizado para autenticação com o serviço de catálogo
auth_scopeEscopo OAuth2 para autenticação (se estiver usando OAuth)
storage_endpointURL do endpoint para o armazenamento subjacente
oauth_server_uriURI do servidor de autorização OAuth2 para autenticação
vended_credentialsBooleano que indica se devem ser usadas credenciais fornecidas pelo catálogo (compatível com AWS S3 e Azure ADLS Gen2)
aws_access_key_idID da chave de acesso da AWS para acesso ao S3/Glue (se não estiver usando credenciais fornecidas)
aws_secret_access_keyChave secreta de acesso da AWS para acesso ao S3/Glue (se não estiver usando credenciais fornecidas)
regionRegião da AWS para o serviço (por exemplo, us-east-1)
dlf_access_key_idID da chave de acesso para o DLF
dlf_access_key_secretChave secreta de acesso para o DLF

Exemplos

Consulte as seções abaixo para ver exemplos de uso do mecanismo DataLakeCatalog:
  • Unity Catalog
  • Glue Catalog
  • OneLake Catalog Pode ser usado ao habilitar allow_experimental_database_iceberg ou allow_database_iceberg.
CREATE DATABASE database_name
ENGINE = DataLakeCatalog(catalog_endpoint)
SETTINGS
   catalog_type = 'onelake',
   warehouse = warehouse,
   onelake_tenant_id = tenant_id,
   oauth_server_uri = server_uri,
   auth_scope = auth_scope, 
   onelake_client_id = client_id, 
   onelake_client_secret = client_secret;
SHOW TABLES IN database_name;
SELECT count() from database_name.table_name;
Última modificação em 10 de junho de 2026