Перейти к основному содержимому
Перейти к основному содержимому

Табличный движок DeltaLake

Этот табличный движок обеспечивает интеграцию с существующими таблицами Delta Lake в Amazon S3 и поддерживает как чтение, так и запись (начиная с v25.10).

Создание таблицы

Учтите, что таблица Delta Lake уже должна существовать в S3: эта команда не принимает параметры DDL для создания новой таблицы.

CREATE TABLE deltalake
ENGINE = DeltaLake(url, [aws_access_key_id, aws_secret_access_key,])

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

  • url — URL-адрес бакета с путём к существующей таблице Delta Lake.
  • aws_access_key_id, aws_secret_access_key — долгосрочные учетные данные пользователя аккаунта AWS. Вы можете использовать их для аутентификации своих запросов. Параметр является необязательным. Если учетные данные не указаны, используются данные из конфигурационного файла.

Параметры движка могут быть заданы с использованием именованных коллекций.

Пример

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 и табличная функция поддерживают кэширование данных так же, как хранилища S3, AzureBlobStorage, HDFS. См. здесь.

Вставка данных

После того как вы создали таблицу с использованием табличного движка DeltaLake, вы можете вставить в неё данные следующим образом:

SET allow_experimental_delta_lake_writes = 1;

INSERT INTO deltalake(id, firstname, lastname, gender, age)
VALUES (1, 'John', 'Smith', 'M', 32);

См. также