Функция Таблицы azureBlobStorage
Предоставляет интерфейс, подобный таблице, для выборки/вставки файлов в Azure Blob Storage. Эта таблица функция аналогична функции s3.
Синтаксис
Аргументы
Аргумент | Описание |
---|---|
connection_string | storage_account_url | connection_string включает имя аккаунта и ключ (Создание строки подключения), или вы также можете предоставить URL-адрес аккаунта хранения и имя аккаунта и ключ аккаунта в качестве отдельных параметров (см. параметры account_name и account_key) |
container_name | Имя контейнера |
blobpath | Путь файла. Поддерживает следующие подстановочные знаки в режиме только для чтения: * , ** , ? , {abc,def} и {N..M} , где N , M — числа, 'abc' , 'def' — строки. |
account_name | если используется storage_account_url, то имя аккаунта можно указать здесь |
account_key | если используется storage_account_url, то ключ аккаунта можно указать здесь |
format | формат файла. |
compression | Поддерживаемые значения: none , gzip/gz , brotli/br , xz/LZMA , zstd/zst . По умолчанию будет автоматически определяться сжатие по расширению файла. (то же самое, что и установка на auto ). |
structure | Структура таблицы. Формат 'column1_name column1_type, column2_name column2_type, ...' . |
partition_strategy | Параметр является необязательным. Поддерживаемые значения: WILDCARD или HIVE . WILDCARD требует наличия {_partition_id} в пути, который заменяется на ключ партиции. HIVE не допускает подстановочных знаков, предполагает, что путь является корнем таблицы, и генерирует каталоги, разделенные по образцу Hive, с идентификаторами Snowflake в качестве имен файлов и форматом файла в качестве расширения. Значение по умолчанию — WILDCARD |
partition_columns_in_data_file | Параметр является необязательным. Используется только с стратегией партиционирования HIVE . Сообщает ClickHouse, следует ли ожидать, что столбцы партиции будут записаны в файле данных. Значение по умолчанию — false . |
extra_credentials | Используйте client_id и tenant_id для аутентификации. Если предоставлены дополнительные учетные данные, они имеют приоритет над account_name и account_key . |
Возвращаемое значение
Таблица с указанной структурой для чтения или записи данных в указанный файл.
Примеры
Аналогично движку таблицы AzureBlobStorage, пользователи могут использовать эмулятор Azurite для локальной разработки Azure Storage. Дополнительные сведения здесь. Ниже предполагается, что Azurite доступен по имени хоста azurite1
.
Запишите данные в azure blob storage, используя следующее:
А затем их можно прочитать, используя
или используя connection_string
Виртуальные Колонки
_path
— Путь к файлу. Тип:LowCardinality(String)
._file
— Имя файла. Тип:LowCardinality(String)
._size
— Размер файла в байтах. Тип:Nullable(UInt64)
. Если размер файла неизвестен, значение равноNULL
._time
— Время последнего изменения файла. Тип:Nullable(DateTime)
. Если время неизвестно, значение равноNULL
.
Пакетная Запись
Стратегия Разделения
Поддерживается только для запросов INSERT.
WILDCARD
(по умолчанию): Заменяет подстановочный знак {_partition_id}
в пути файла на фактический ключ партиции.
HIVE
реализует пакетное разделение по стилю Hive для чтения и записи. Он генерирует файлы с использованием следующего формата: <prefix>/<key1=val1/key2=val2...>/<snowflakeid>.<toLower(file_format)>
.
Пример стратегии разделения HIVE
Настройка use_hive_partitioning
Это подсказка для ClickHouse для разбора файлов, разделенных по стилю Hive, при чтении. Она не влияет на запись. Для симметричных операций чтения и записи используйте аргумент partition_strategy
.
При установке use_hive_partitioning
в 1, ClickHouse будет определять разделение по стилю Hive в пути (/name=value/
) и позволит использовать столбцы партиции в качестве виртуальных столбцов в запросе. Эти виртуальные столбцы будут иметь те же имена, что и в пути с партицией, но начинаются с _
.
Пример
Используйте виртуальный столбец, созданный с разделением по стилю Hive
Использование Подписей Общего Доступа (SAS)
Подпись общего доступа (SAS) — это URI, который предоставляет ограниченный доступ к контейнеру или файлу в Azure Storage. Используйте его, чтобы предоставить доступ к ресурсам аккаунта хранения с ограничением по времени, не раскрывая ключ вашего аккаунта хранения. Дополнительные сведения здесь.
Функция azureBlobStorage
поддерживает Подписи Общего Доступа (SAS).
Токен Blob SAS содержит всю информацию, необходимую для аутентификации запроса, включая целевой blob, разрешения и срок действия. Чтобы сформировать URL-адрес blob, добавьте токен SAS к конечной точке службы blob. Например, если конечная точка https://clickhousedocstest.blob.core.windows.net/
, запрос станет:
В качестве альтернативы пользователи могут использовать сгенерированный Blob SAS URL: