Le moteur de base de données DataLakeCatalog vous permet de connecter ClickHouse à des
catalogues de données externes et d’interroger des données dans un format de table ouvert, sans avoir à dupliquer les données.
Cela transforme ClickHouse en un puissant moteur de requête qui s’intègre parfaitement à
votre infrastructure de lac de données existante.
Catalogues pris en charge
Le moteur DataLakeCatalog prend en charge les catalogues de données suivants :
- AWS Glue Catalog - Pour les tables Iceberg dans des environnements AWS
- Databricks Unity Catalog - Pour les tables Delta Lake et Iceberg
- Hive Metastore - Catalogue traditionnel de l’écosystème Hadoop
- Catalogues REST - Tout catalogue compatible avec la spécification REST d’Iceberg
Création d’une base de données
Vous devrez activer les paramètres appropriés ci-dessous pour utiliser le moteur 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;
Les bases de données utilisant le moteur DataLakeCatalog peuvent être créées selon la syntaxe suivante :
CREATE DATABASE database_name
ENGINE = DataLakeCatalog(catalog_endpoint[, user, password])
SETTINGS
catalog_type,
[...]
Les paramètres suivants sont pris en charge :
| Setting | Description |
|---|
catalog_type | Type de catalogue : glue, unity (Delta), rest (Iceberg), hive, onelake (Iceberg) |
warehouse | Nom du warehouse/de la base de données à utiliser dans le catalogue. |
catalog_credential | Identifiants d’authentification pour le catalogue (par ex. clé API ou jeton) |
auth_header | En-tête HTTP personnalisé pour l’authentification auprès du service de catalogue |
auth_scope | Scope OAuth2 pour l’authentification (si vous utilisez OAuth) |
storage_endpoint | URL du point de terminaison du stockage sous-jacent |
oauth_server_uri | URI du serveur d’autorisation OAuth2 pour l’authentification |
vended_credentials | Booléen indiquant s’il faut utiliser les identifiants fournis par le catalogue (compatible avec AWS S3 et Azure ADLS Gen2) |
aws_access_key_id | ID de clé d’accès AWS pour l’accès à S3/Glue (si vous n’utilisez pas les identifiants fournis) |
aws_secret_access_key | Clé d’accès secrète AWS pour l’accès à S3/Glue (si vous n’utilisez pas les identifiants fournis) |
region | Région AWS du service (par ex. us-east-1) |
dlf_access_key_id | ID de clé d’accès pour l’accès à DLF |
dlf_access_key_secret | Clé d’accès secrète pour l’accès à DLF |
Consultez les sections ci-dessous pour voir des exemples d’utilisation du moteur DataLakeCatalog :
- Unity Catalog
- Glue Catalog
- Catalog OneLake
Peut être utilisé en activant
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;
Dernière modification le 25 juin 2026