Синтаксис
- Строка подключения
- URL учетной записи хранилища
- Именованная коллекция
Учетные данные встроены в строку подключения, поэтому отдельно указывать
account_name/account_key не требуется:Аргументы
| Аргумент | Описание |
|---|---|
connection_string | Строка подключения, включающая встроенные учетные данные (имя учетной записи + ключ учетной записи или SAS-токен). При использовании этой формы account_name и account_key не следует передавать отдельно. См. Настройка строки подключения. |
storage_account_url | URL конечной точки учетной записи хранилища, например https://myaccount.blob.core.windows.net/. При использовании этой формы необходимо также передать account_name и account_key. |
container_name | Имя контейнера. |
blobpath | Путь к файлу. Поддерживает следующие подстановочные шаблоны в режиме только для чтения: *, **, ?, {abc,def} и {N..M}, где N, M — числа, 'abc', 'def' — строки. |
account_name | Имя учетной записи хранилища. Обязательно при использовании storage_account_url без SAS; не должно передаваться при использовании connection_string. |
account_key | Ключ учетной записи хранилища. Обязательно при использовании storage_account_url без SAS; не должно передаваться при использовании connection_string. |
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 ID, а в качестве расширения — формат файла. По умолчанию используется WILDCARD. |
partition_columns_in_data_file | Необязательно. Используется только со стратегией партиционирования HIVE. Указывает ClickHouse, следует ли ожидать, что столбцы партиций будут записаны в файл данных. По умолчанию false. |
extra_credentials | Используйте client_id и tenant_id для аутентификации. Если указаны extra_credentials, они имеют приоритет над account_name и account_key. |
Именованные коллекции
| Ключ | Обязательно | Описание |
|---|---|---|
container | Да | Имя контейнера. Соответствует позиционному аргументу container_name. |
blob_path | Да | Путь к файлу (с необязательными подстановочными шаблонами). Соответствует позиционному аргументу blobpath. |
connection_string | Нет* | Строка подключения со встроенными учетными данными. *Должен быть указан либо connection_string, либо storage_account_url. |
storage_account_url | Нет* | URL конечной точки учетной записи хранилища. *Должен быть указан либо connection_string, либо storage_account_url. |
account_name | Нет | Обязателен при использовании storage_account_url |
account_key | Нет | Обязателен при использовании storage_account_url |
format | Нет | Формат файла. |
compression | Нет | Тип сжатия. |
structure | Нет | Структура таблицы. |
client_id | Нет | Идентификатор клиента для аутентификации. |
tenant_id | Нет | Идентификатор тенанта для аутентификации. |
Имена ключей именованной коллекции отличаются от имён позиционных аргументов функции:
container (не container_name) и blob_path (не blobpath).Возвращаемое значение
Примеры
Чтение с использованием storage_account_url
Чтение с использованием варианта connection_string
Запись с партиционированием
Виртуальные столбцы
_path— Путь к файлу. Тип:LowCardinality(String)._file— Имя файла. Тип:LowCardinality(String)._size— Размер файла в байтах. Тип:Nullable(UInt64). Если размер файла неизвестен, значение равноNULL._time— Время последнего изменения файла. Тип:Nullable(DateTime). Если время неизвестно, значение равноNULL.
Запись с разбиением на партиции
Стратегия партиционирования
WILDCARD (по умолчанию): заменяет подстановочный знак {_partition_id} в пути к файлу на фактический ключ партиционирования.
HIVE реализует секционирование в стиле Hive для чтения и записи. HIVE генерирует файлы в следующем формате: <prefix>/<key1=val1/key2=val2...>/<snowflakeid>.<toLower(file_format)>.
Пример стратегии партиционирования HIVE
настройка use_hive_partitioning
partition_strategy.
Если для use_hive_partitioning установлено значение 1, ClickHouse будет определять секционирование в стиле Hive в пути (/name=value/) и позволит использовать столбцы партиции как виртуальные столбцы в запросе. Эти виртуальные столбцы будут иметь те же имена, что и в пути с секционированием.
Пример
Использование виртуального столбца, созданного при секционировании в стиле Hive
azureBlobStorage поддерживает Shared Access Signatures (SAS).
Токен Blob SAS содержит всю информацию, необходимую для аутентификации запроса, включая целевой blob, разрешения и срок действия. Чтобы сформировать URL-адрес blob, добавьте токен SAS к конечной точке сервиса blob. Например, если конечная точка — https://clickhousedocstest.blob.core.windows.net/, запрос будет выглядеть так: