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_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 表引擎类似,用户可以使用 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')
另请参阅