hll_union
函数
适用于: Databricks SQL Databricks Runtime 13.3 LTS 及更高版本
此函数利用 HyperLogLog 算法将两个草图合并为一个草图。
查询可以使用生成的缓冲区通过 hll_sketch_estimate 函数计算长整数形式的近似唯一计数。
实现使用 Apache Datasketches 库。 有关详细信息,请参阅 HLL。
语法
hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )
参数
exprN
:包含 hll_sketch_agg 生成的草图的BINARY
表达式。allowDifferentLgConfigK
:可选的BOOLEAN
表达式,控制是否允许合并两个具有不同 lgConfigK 值的草图。 默认值为 false。
返回
一个 BINARY
缓冲区,其中包含通过组合输入表达式计算出的 HyperLogLog 草图。
当 allowDifferentLgConfigK
参数为 true 时,结果草图将使用提供的两个 lgConfigK
值中较小的一个。
示例
> 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) AS tab(col1, col2);
6
> SELECT hll_sketch_estimate(
hll_union(
hll_sketch_agg(col1, 4),
hll_sketch_agg(col2, 21)))
FROM VALUES
(1, 4),
(1, 4),
(2, 5),
(2, 5),
(3, 6) AS tab(col1, col2);
error