Табличный движок DeltaLake
Этот табличный движок обеспечивает интеграцию с существующими таблицами Delta Lake в хранилищах S3, GCP и Azure и поддерживает как чтение, так и запись (начиная с v25.10).
Создание таблицы DeltaLake
Чтобы создать таблицу DeltaLake, она уже должна существовать в хранилище S3, GCP или Azure. Команды ниже не принимают параметры DDL для создания новой таблицы.
- S3
- GCP
- Azure
Синтаксис
Параметры движка
url— URL-адрес бакета с путём к существующей таблице Delta Lake.aws_access_key_id,aws_secret_access_key- долгосрочные учетные данные пользователя аккаунта AWS. Вы можете использовать их для аутентификации своих запросов. Параметр является необязательным. Если учетные данные не указаны, используются данные из конфигурационного файла.
Параметры движка могут быть заданы с использованием именованных коллекций.
Пример
Использование именованных коллекций:
Синтаксис
URI 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.
Именованные коллекции
Также можно использовать именованные коллекции. Например:
Синтаксис
Аргументы
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, вы можете вставить в неё данные следующим образом:
Запись с использованием табличного движка поддерживается только через delta kernel. Запись в Azure пока не поддерживается, но работает запись в S3 и GCS.
Кэш данных
Движок таблиц DeltaLake и табличная функция поддерживают кэширование данных так же, как хранилища S3, AzureBlobStorage, HDFS. См. раздел "Движок таблиц S3" для более подробной информации.