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真题
