适用于: Databricks SQL
 Databricks SQL  Databricks Runtime 13.3 LTS 及更高版本
 Databricks Runtime 13.3 LTS 及更高版本
此函数利用 HyperLogLog 算法将一组草图合并为一个草图。
查询可以使用生成的缓冲区通过 hll_sketch_estimate 函数计算近似的唯一计数。
实现使用 Apache Datasketches 库。 有关详细信息,请参阅 HLL。
语法
hll_union_agg ( expr [, allowDifferentLgConfigK ] )
参数
- 
              expr:包含BINARY生成的草图的 表达式。
- 
              allowDifferentLgConfigK:一个可选的BOOLEAN常量表达式 ,用于控制是否允许使用不同的 lgConfigK 值合并草图。 默认值为 false。
返回
一个 BINARY 缓冲区,其中包含通过组合同一个组的输入表达式计算出的 HyperLogLog 草图。
当 allowDifferentLgConfigK 参数为 true 时,结果草图将使用提供的两个 lgConfigK 值中较小的一个。
示例
> SELECT hll_sketch_estimate(hll_union_agg(sketch, true))
    FROM (SELECT hll_sketch_agg(col) as sketch
            FROM VALUES (1) AS tab(col)
          UNION ALL
          SELECT hll_sketch_agg(col, 20) as sketch
            FROM VALUES (1) AS tab(col));
  1
> SELECT hll_sketch_estimate(hll_union_agg(sketch, false))
    FROM (SELECT hll_sketch_agg(col) as sketch
            FROM VALUES (1) AS tab(col)
          UNION ALL
          SELECT hll_sketch_agg(col, 20) as sketch
            FROM VALUES (1) AS tab(col));
  error