跳到主要内容

hll_union:HLL草图合并

速查结论

hll_union(first, second, allowDifferentLgConfigK) 是 Spark SQL 中用于合并两个 HyperLogLog 草图为一个联合草图的函数。

语法

hll_union(first, second, allowDifferentLgConfigK)

参数说明

参数说明
first第一个 HllSketch 的二进制表示
second第二个 HllSketch 的二进制表示
allowDifferentLgConfigK可选,是否允许合并具有不同 lgConfigK 值的草图,默认为 false

函数使用 Datasketches Union 对象合并两个 HLL 草图,返回合并后的草图二进制表示。

示例

> SELECT hll_sketch_estimate(hll_union(hll_sketch_agg(col1), hll_sketch_agg(col2))) FROM VALUES (1, 4), (1, 4), (2, 5), (2, 5), (3, 6) tab(col1, col2);
6

常见报错与避坑指南

  • 不同 lgConfigK 的合并限制:两个草图的 lgConfigK 值不同时,默认不允许合并。如需合并,须将 allowDifferentLgConfigK 设为 true。
  • 返回的是草图而非数值:与 hll_sketch_agg 一样,返回的是二进制中间结果,须配合 hll_sketch_estimate 才能获得基数估计值。

Since: 3.5.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看