Перейти к основному содержимому
Перейти к основному содержимому

azureBlobStorageCluster Табличная Функция

Позволяет обрабатывать файлы из Azure Blob Storage параллельно на многих узлах в указанном кластере. На инициаторе она создает соединение со всеми узлами в кластере, раскрывает звездочки в пути к файлу S3 и динамически распределяет каждый файл. На рабочем узле она запрашивает у инициатора следующую задачу для обработки и выполняет её. Это повторяется, пока все задачи не будут завершены. Эта табличная функция аналогична функции s3Cluster.

Синтаксис

azureBlobStorageCluster(cluster_name, connection_string|storage_account_url, container_name, blobpath, [account_name, account_key, format, compression, structure])

Аргументы

АргументОписание
cluster_nameИмя кластера, которое используется для создания набора адресов и параметров соединения с удаленными и локальными серверами.
connection_stringstorage_account_url — строка подключения включает имя учетной записи и ключ (Создать строку подключения) или вы также можете предоставить 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, пользователи могут использовать эмулятор Azurite для локальной разработки Azure Storage. Дополнительные детали здесь. Далее предполагаем, что 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 для примеров.