适用于: Databricks SQL
 Databricks SQL  Databricks Runtime 13.3 LTS 及更高版本
 Databricks Runtime 13.3 LTS 及更高版本
此函数利用 HyperLogLog 算法将两个草图合并为一个草图。
查询可以使用生成的缓冲区通过 hll_sketch_estimate 函数计算长整数形式的近似唯一计数。
实现使用 Apache Datasketches 库。 有关详细信息,请参阅 HLL。
语法
hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )
参数
- exprN:包含- 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