hll_union_agg:HLL联合聚合
速查结论
hll_union_agg(expr, allowDifferentLgConfigK) 是 Spark SQL 中用于合并组内多个 HLL 草图并估算去重值数量的聚合函数。
语法
hll_union_agg(expr, allowDifferentLgConfigK)
参数说明
| 参数 | 说明 |
|---|---|
| expr | HllSketch 二进制表示的列,通常由 hll_sketch_agg 生成 |
| allowDifferentLgConfigK | 可选,是否允许合并具有不同 lgConfigK 值的草图,默认为 false |
函数对组内所有 HLL 草图执行联合合并,返回合并后的草图二进制表示(可直接传给 hll_sketch_estimate 获取基数估计值)。
示例
> SELECT hll_sketch_estimate(hll_union_agg(sketch, true)) FROM (SELECT hll_sketch_agg(col) as sketch FROM VALUES (1) tab(col) UNION ALL SELECT hll_sketch_agg(col, 20) as sketch FROM VALUES (1) tab(col));
1
常见报错与避坑指南
- 与 hll_union 的区别:hll_union 是标量函数,接受两个草图;hll_union_agg 是聚合函数,对组内所有行执行合并。
- 允许不同 lgConfigK 时的精度:当 allowDifferentLgConfigK 为 true 时,合并结果的精度以较小的 lgConfigK 为准。
Since: 3.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

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