Перейти к основному содержанию
Этот движок обеспечивает интеграцию с существующими таблицами 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')

Запись данных с помощью таблицы 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 г.