Табличный движок 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. Вы можете использовать их для аутентификации своих запросов. Параметр является необязательным. Если учетные данные не указаны, используются данные из конфигурационного файла.extra_credentials- Необязательно. Используется для передачиrole_arnдля доступа на основе ролей в ClickHouse Cloud. См. Secure S3 для шагов настройки.
Параметры движка могут быть заданы с использованием именованных коллекций.
Пример
Использование именованных коллекций:
Синтаксис
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" для более подробной информации.