Перейти к основному содержанию
Позволяет параллельно обрабатывать файлы из 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_stringstorage_account_urlconnection_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 г.