fileCluster 表函数
启用在集群内多个节点之间同时处理匹配指定路径的文件。发起者建立与工作节点的连接,扩展文件路径中的通配符,并将文件读取任务委派给工作节点。每个工作节点向发起者查询下一个要处理的文件,重复进行直到所有任务完成(所有文件都被读取)。
备注
该函数仅在初始指定路径匹配的文件集合在所有节点间一致,并且其内容在不同节点间一致的情况下才能_正确_操作。
如果这些文件在节点间不同,则返回值无法预先确定,并依赖于工作节点从发起者请求任务的顺序。
语法
参数
cluster_name
— 用于构建远程和本地服务器地址及连接参数的集群名称。path
— 从 user_files_path 到文件的相对路径。文件路径也支持 通配符。format
— 文件的 格式。类型: String。structure
— 表结构,格式为'UserID UInt64, Name String'
。确定列名和类型。类型: 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
的数据内容:
路径中的通配符
FileCluster
支持的所有模式与 File 表函数相同。
另见