Этот движок обеспечивает интеграцию с существующими таблицами Delta Lake в хранилищах S3, GCP и Azure и поддерживает как чтение, так и запись (начиная с v25.10).
Создание таблицы DeltaLake
Чтобы создать таблицу DeltaLake, она должна уже существовать в хранилище S3, GCP или Azure. Приведённые ниже команды не принимают DDL-параметры для создания новой таблицы.
СинтаксисCREATE TABLE table_name
ENGINE = DeltaLake(url, [aws_access_key_id, aws_secret_access_key,] [extra_credentials])
Параметры движка
url — URL бакета с путём к существующей таблице Delta Lake.
aws_access_key_id, aws_secret_access_key - Долговременные учётные данные пользователя аккаунта AWS. Их можно использовать для аутентификации запросов. Параметр необязателен. Если учётные данные не указаны, они берутся из файла конфигурации.
extra_credentials - Необязательный параметр. Используется для передачи role_arn при доступе на основе ролей в ClickHouse Cloud. Шаги по настройке см. в разделе Secure S3.
Параметры движка можно указывать с помощью Named Collections.ПримерCREATE TABLE deltalake
ENGINE = DeltaLake('http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/test_table/', 'ABC123', 'Abc+123')
С использованием именованных коллекций:<clickhouse>
<named_collections>
<deltalake_conf>
<url>http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/</url>
<access_key_id>ABC123<access_key_id>
<secret_access_key>Abc+123</secret_access_key>
</deltalake_conf>
</named_collections>
</clickhouse>
CREATE TABLE deltalake
ENGINE = DeltaLake(deltalake_conf, filename = 'test_table')
Синтаксис-- Использование HTTPS URL (рекомендуется)
CREATE TABLE table_name
ENGINE = DeltaLake('https://storage.googleapis.com/<bucket>/<path>/', '<access_key_id>', '<secret_access_key>')
Неподдерживаемый URI gsutilURI gsutil, например gs://clickhouse-docs-example-bucket, не поддерживается. Используйте URL, начинающийся с https://storage.googleapis.com
Аргументы
url — URL GCS-бакета для таблицы Delta Lake. Должен использовать формат https://storage.googleapis.com/<bucket>/<path>/
(конечная точка GCS XML API) или gs://<bucket>/<path>/, который автоматически преобразуется.
access_key_id — ключ доступа GCS. Создаётся через Google Cloud Console → Cloud Storage → Settings → Interoperability.
secret_access_key — секретный ключ GCS.
Именованные коллекцииТакже можно использовать именованные коллекции.
Например:CREATE NAMED COLLECTION gcs_creds AS
access_key_id = '<access_key>',
secret_access_key = '<secret>';
CREATE TABLE gcpDeltaLake
ENGINE = DeltaLake(gcs_creds, url = 'https://storage.googleapis.com/<bucket>/<path>')
СинтаксисCREATE TABLE table_name
ENGINE = DeltaLake(connection_string|storage_account_url, container_name, blobpath, [account_name, account_key, format, compression])
Аргументы
connection_string — строка подключения Azure
storage_account_url — URL учётной записи хранилища Azure (например, https://account.blob.core.windows.net)
container_name — имя контейнера Azure
blobpath — путь к таблице Delta Lake внутри контейнера
account_name — имя учётной записи хранилища Azure
account_key — ключ учётной записи хранилища Azure
Запись данных с помощью таблицы DeltaLake
После создания таблицы на движке таблицы DeltaLake вы можете вставлять в неё данные с помощью:
SET allow_experimental_delta_lake_writes = 1;
INSERT INTO deltalake(id, firstname, lastname, gender, age)
VALUES (1, 'John', 'Smith', 'M', 32);
Запись с использованием этого движка таблицы поддерживается только через Delta Kernel.
Запись в Azure пока не поддерживается, но для S3 и GCS она работает.
Движок таблицы DeltaLake и табличная функция поддерживают кэширование данных, как и хранилища S3, AzureBlobStorage и HDFS. Подробнее см. в разделе “движок таблицы S3”.
Последнее изменение 10 июня 2026 г.