> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-home-button.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

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

# DataLakeCatalog

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

<div id="supported-catalogs">
  ## Поддерживаемые каталоги
</div>

Движок `DataLakeCatalog` поддерживает следующие каталоги данных:

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

<div id="creating-a-database">
  ## Создание базы данных
</div>

Чтобы использовать движок `DataLakeCatalog`, необходимо включить указанные ниже настройки:

```sql theme={null}
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` можно создавать, используя следующий синтаксис:

```sql theme={null}
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_endpoint`      | URL конечной точки нижележащего хранилища                                                                                                     |
| `oauth_server_uri`      | URI сервера авторизации 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                                                                                                      |

<div id="examples">
  ## Примеры
</div>

См. разделы ниже с примерами использования движка `DataLakeCatalog`:

* [Unity Catalog](/ru/guides/use-cases/data-warehousing/unity-catalog)
* [Glue Catalog](/ru/guides/use-cases/data-warehousing/glue-catalog)
* Каталог OneLake
  Можно использовать при включении `allow_experimental_database_iceberg` или `allow_database_iceberg`.

```sql theme={null}
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;
```
