Passer au contenu principal
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 :
SettingDescription
catalog_typeType de catalogue : glue, unity (Delta), rest (Iceberg), hive, onelake (Iceberg)
warehouseNom du warehouse/de la base de données à utiliser dans le catalogue.
catalog_credentialIdentifiants d’authentification pour le catalogue (par ex. clé API ou jeton)
auth_headerEn-tête HTTP personnalisé pour l’authentification auprès du service de catalogue
auth_scopeScope OAuth2 pour l’authentification (si vous utilisez OAuth)
storage_endpointURL du point de terminaison du stockage sous-jacent
oauth_server_uriURI du serveur d’autorisation OAuth2 pour l’authentification
vended_credentialsBooléen indiquant s’il faut utiliser les identifiants fournis par le catalogue (compatible avec AWS S3 et Azure ADLS Gen2)
aws_access_key_idID de clé d’accès AWS pour l’accès à S3/Glue (si vous n’utilisez pas les identifiants fournis)
aws_secret_access_keyClé d’accès secrète AWS pour l’accès à S3/Glue (si vous n’utilisez pas les identifiants fournis)
regionRégion AWS du service (par ex. us-east-1)
dlf_access_key_idID de clé d’accès pour l’accès à DLF
dlf_access_key_secretClé d’accès secrète pour l’accès à DLF

Exemples

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