Saltar al contenido principal
El motor de base de datos DataLakeCatalog le permite conectar ClickHouse a catálogos de datos externos y consultar datos en formatos de tabla abiertos sin necesidad de duplicarlos. Esto transforma a ClickHouse en un potente motor de consultas que se integra perfectamente con la infraestructura existente de su lago de datos.

Catálogos compatibles

El motor DataLakeCatalog es compatible con los siguientes catálogos de datos:
  • AWS Glue Catalog - Para tablas Iceberg en entornos de AWS
  • Databricks Unity Catalog - Para tablas Delta Lake e Iceberg
  • Hive Metastore - Catálogo tradicional del ecosistema Hadoop
  • Catálogos REST - Cualquier catálogo compatible con la especificación REST de Iceberg

Crear una base de datos

Deberá habilitar la configuración correspondiente que se indica a continuación para usar el motor DataLakeCatalog:
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;
Las bases de datos con el motor DataLakeCatalog pueden crearse con la siguiente sintaxis:
CREATE DATABASE database_name
ENGINE = DataLakeCatalog(catalog_endpoint[, user, password])
SETTINGS
catalog_type,
[...]
Se admiten los siguientes ajustes:
ConfiguraciónDescripción
catalog_typeTipo de catálogo: glue, unity (Delta), rest (Iceberg), hive, onelake (Iceberg)
warehouseNombre del almacén/base de datos que se usará en el catálogo.
catalog_credentialCredencial de autenticación para el catálogo (p. ej., API key o token)
auth_headerHTTP header personalizado para la autenticación con el servicio de catálogo
auth_scopeScope de OAuth2 para la autenticación (si se usa OAuth)
storage_endpointURL del endpoint del almacenamiento subyacente
oauth_server_uriURI del servidor de autorización de OAuth2 para la autenticación
vended_credentialsValor booleano que indica si se deben usar las credenciales proporcionadas por el catálogo (admite AWS S3 y Azure ADLS Gen2)
aws_access_key_idID de la clave de acceso de AWS para acceder a S3/Glue (si no se usan credenciales proporcionadas)
aws_secret_access_keyClave de acceso secreta de AWS para acceder a S3/Glue (si no se usan credenciales proporcionadas)
regionRegión de AWS para el servicio (p. ej., us-east-1)
dlf_access_key_idID de la clave de acceso para acceder a DLF
dlf_access_key_secretClave de acceso secreta para acceder a DLF

Ejemplos

Consulte las secciones siguientes para ver ejemplos de uso del motor DataLakeCatalog:
  • Unity Catalog
  • Glue Catalog
  • OneLake Catalog Puede usarse habilitando allow_experimental_database_iceberg o 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 modificación el 10 de junio de 2026