跳到主要内容
跳到主要内容

hudiCluster 表函数

这是对 hudi 表函数的扩展。

允许在指定集群中的多个节点上并行处理 Amazon S3 中 Apache Hudi 表的文件。在发起节点上,它会创建到集群中所有节点的连接,并动态分发每个文件。在工作节点上,它向发起节点请求下一个要处理的任务并对其进行处理。此过程会重复,直到所有任务都完成。

语法

hudiCluster(cluster_name, url [,aws_access_key_id, aws_secret_access_key] [,format] [,structure] [,compression])

参数

参数说明
cluster_name用于构建到远程和本地服务器的地址和连接参数集合的集群名称。
url指向 S3 中现有 Hudi 表路径的 Bucket 的 URL。
aws_access_key_id, aws_secret_access_keyAWS 账户用户的长期凭证。可以使用这些凭证对请求进行身份验证。这些参数为可选参数。如果未指定凭证,则从 ClickHouse 配置中读取。有关更多信息,参见 Using S3 for Data Storage
format文件的格式
structure表的结构。格式:'column1_name column1_type, column2_name column2_type, ...'
compression可选参数。支持的取值:nonegzip/gzbrotli/brxz/LZMAzstd/zst。默认情况下,将根据文件扩展名自动检测压缩格式。

返回值

一个具有指定结构的表,用于在集群中从 S3 上指定的 Hudi 表读取数据。

虚拟列

  • _path — 文件路径。类型:LowCardinality(String)
  • _file — 文件名。类型:LowCardinality(String)
  • _size — 文件大小(以字节为单位)。类型:Nullable(UInt64)。如果文件大小未知,该值为 NULL
  • _time — 文件的最后修改时间。类型:Nullable(DateTime)。如果时间未知,该值为 NULL
  • _etag — 文件的 ETag。类型:LowCardinality(String)。如果 ETag 未知,该值为 NULL