Создание таблицы DeltaLake
По умолчанию таблица Delta Lake должна уже существовать в хранилище S3, GCP или Azure, а приведённые ниже команды подключаются к ней без DDL-определений столбцов. Приallow_delta_lake_create_table = 1 команда CREATE TABLE с явно заданными столбцами для расположения без _delta_log вместо этого создаёт новую таблицу Delta Lake, записывая начальный коммит через delta-kernel-rs (создание секционированных таблиц пока не поддерживается); кроме того, в базе данных Unity DataLakeCatalog таблица регистрируется в каталоге.
- S3
- GCP
- Azure
СинтаксисПараметры движкаС использованием именованных коллекций:
url— URL бакета с путём к существующей таблице Delta Lake.aws_access_key_id,aws_secret_access_key- Долговременные учётные данные пользователя аккаунта AWS. Их можно использовать для аутентификации запросов. Параметр необязателен. Если учётные данные не указаны, они берутся из файла конфигурации.extra_credentials- Необязательный параметр. Используется для передачиrole_arnпри доступе на основе ролей в ClickHouse Cloud. Шаги по настройке см. в разделе Secure S3.
Запись данных с помощью таблицы DeltaLake
После создания таблицы на движке таблицы DeltaLake вы можете вставлять в неё данные с помощью:SET allow_delta_lake_writes = 1; (доступно начиная с версии 26.7; в более ранних версиях используйте SET allow_experimental_delta_lake_writes = 1;).
Запись с использованием этого движка таблицы поддерживается только через Delta Kernel.
Запись работает для S3 и GCS, а для Azure — начиная с версии 26.9.
Аутентификация Azure Workload Identity (
extra_credentials(client_id = ..., tenant_id = ...)) не поддерживается Delta Kernel.Кэширование данных
Движок таблицыDeltaLake и табличная функция поддерживают кэширование данных, как и хранилища S3, AzureBlobStorage и HDFS. Подробнее см. в разделе “движок таблицы S3”.