Перейти к основному содержанию
Движок базы данных DataLakeCatalog позволяет подключать ClickHouse к внешним каталогам данных и выполнять запросы к данным в открытых табличных форматах без дублирования данных. Это превращает ClickHouse в мощный движок запросов, который легко интегрируется с вашей существующей инфраструктурой озера данных.

Поддерживаемые каталоги

Движок DataLakeCatalog поддерживает следующие каталоги данных:
  • Каталог AWS Glue — для таблиц Iceberg в средах AWS
  • Databricks Unity Catalog — для таблиц Delta Lake и Iceberg
  • Hive Metastore — традиционный каталог экосистемы Hadoop
  • REST-каталоги — любые каталоги, поддерживающие спецификацию Iceberg REST

Создание базы данных

Чтобы использовать движок 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;
Базы данных с движком DataLakeCatalog можно создавать, используя следующий синтаксис:
CREATE DATABASE database_name
ENGINE = DataLakeCatalog(catalog_endpoint[, user, password])
SETTINGS
catalog_type,
[...]
Поддерживаются следующие настройки:
НастройкаОписание
catalog_typeТип каталога: glue, unity (Delta), rest (Iceberg), hive, onelake (Iceberg)
warehouseИмя хранилища или базы данных, используемое в каталоге.
catalog_credentialУчетные данные для аутентификации в каталоге (например, API key или токен)
auth_headerПользовательский HTTP-заголовок для аутентификации в сервисе каталога
auth_scopeОбласть действия OAuth2 для аутентификации (если используется OAuth)
storage_endpointURL конечной точки нижележащего хранилища
oauth_server_uriURI сервера авторизации OAuth2 для аутентификации
vended_credentialsЛогическое значение, указывающее, следует ли использовать учетные данные, предоставленные каталогом (поддерживаются AWS S3 и Azure ADLS Gen2)
aws_access_key_idИдентификатор ключа доступа AWS для доступа к S3/Glue (если не используются предоставленные учетные данные)
aws_secret_access_keyСекретный ключ доступа AWS для доступа к S3/Glue (если не используются предоставленные учетные данные)
regionРегион AWS для сервиса (например, us-east-1)
dlf_access_key_idИдентификатор ключа доступа для доступа к DLF
dlf_access_key_secretСекретный ключ доступа для доступа к DLF

Примеры

См. разделы ниже с примерами использования движка DataLakeCatalog:
  • Unity Catalog
  • Glue Catalog
  • Каталог OneLake Можно использовать при включении allow_experimental_database_iceberg или 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;
Последнее изменение 10 июня 2026 г.