fileCluster 表函数
启用在集群内的多个节点同时处理与指定路径匹配的文件。发起者建立与工作节点的连接,扩展文件路径中的通配符,并将文件读取任务委派给工作节点。每个工作节点向发起者查询下一个待处理的文件,重复此过程直到所有任务完成(所有文件被读取)。
备注
仅当与最初指定路径匹配的文件集合在所有节点上相同,并且它们的内容在不同节点之间一致时,此函数才能_正确_操作。
如果这些文件在节点之间不同,则返回值不能预先确定,取决于工作节点从发起者请求任务的顺序。
语法
参数
参数 | 描述 |
---|---|
cluster_name | 用于构建与远程和本地服务器的地址和连接参数集合的集群名称。 |
path | 从 user_files_path 到文件的相对路径。文件路径也支持 通配符。 |
format | 文件的 格式。类型: 字符串。 |
structure | 表结构,格式为 'UserID UInt64, Name String' 。确定列名和类型。类型: 字符串。 |
compression_method | 压缩方法。支持的压缩类型有 gz 、br 、xz 、zst 、lz4 和 bz2 。 |
返回值
具有指定格式和结构以及来自与指定路径匹配的文件数据的表。
示例
给定一个名为 my_cluster
的集群,以及以下 user_files_path
设置的值:
另外,假设每个集群节点的 user_files_path
中有文件 test1.csv
和 test2.csv
,并且它们在不同节点之间的内容是相同的:
例如,可以通过在每个集群节点上执行这两个查询来创建这些文件:
现在,通过 fileCluster
表函数读取 test1.csv
和 test2.csv
的数据内容:
路径中的通配符
File 表函数支持的所有模式也都被 FileCluster 支持。