Позволяет параллельно обрабатывать файлы из Azure Blob Storage с помощью множества узлов в указанном кластере. На initiator создаётся connection ко всем узлам cluster, раскрываются звёздочки в path к файлу S3, после чего каждый файл динамически распределяется. На узле-воркере запрашивается у initiator следующая task для processing, и она обрабатывается. Это повторяется, пока не будут завершены все tasks.
Эта табличная функция похожа на функцию s3Cluster.
azureBlobStorageCluster(cluster_name, connection_string|storage_account_url, container_name, blobpath, [account_name, account_key, format, compression, structure])
| Аргумент | Описание |
|---|
cluster_name | Имя кластера, которое используется для формирования набора адресов и параметров подключения к удалённым и локальным серверам. |
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, ...'. |
Таблица с указанной структурой для чтения или записи данных в указанный файл.
Аналогично движку таблицы AzureBlobStorage, для локальной разработки с Azure Storage можно использовать эмулятор Azurite. Подробности здесь. Ниже предполагается, что Azurite доступен по имени хоста azurite1.
Подсчитайте количество строк в файле test_cluster_*.csv, используя все узлы кластера cluster_simple:
SELECT count(*) FROM azureBlobStorageCluster(
'cluster_simple', 'http://azurite1:10000/devstoreaccount1', 'testcontainer', 'test_cluster_count.csv', 'devstoreaccount1',
'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==', 'CSV',
'auto', 'key UInt64')
Использование подписей общего доступа (SAS)
Примеры см. в разделе azureBlobStorage.
Последнее изменение 10 июня 2026 г.