跳到主要内容

azureBlobStorageCluster 表函数

允许从指定集群中的许多节点并行处理来自 Azure Blob 存储 的文件。在发起者上,它创建一个到集群中所有节点的连接,公开 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 以及帐户名称和帐户密钥作为单独的参数(请参阅参数帐户名称和帐户密钥)。
  • 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, ...'

返回值

具有指定结构的表,用于在指定文件中读取或写入数据。

示例

使用 cluster_simple 集群中的所有节点,选择文件 test_cluster_*.csv 的计数

SELECT count(*) from azureBlobStorageCluster(
'cluster_simple', 'http://azurite1:10000/devstoreaccount1', 'test_container', 'test_cluster_count.csv', 'devstoreaccount1',
'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==', 'CSV',
'auto', 'key UInt64')

另请参阅