hll_sketch_estimate 函数

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime 13.3 LTS 及更高版本

此函数利用 HyperLogLog 算法计算给定列中唯一值数量的概率近似值,使用先前由 hll_sketch_agg 函数生成的称为草图缓冲区的二进制表示形式,并将结果作为大整数返回。

hll_unionhll_union_agg 函数还可以通过使用并合并这些缓冲区作为输入来将草图组合在一起。

实现使用 Apache Datasketches 库。 有关详细信息,请参阅 HLL

语法

hll_sketch_estimate ( expr )

参数

返回

一个 BIGINT 值,它是由输入草图表示的近似非重复计数。

示例

> SELECT hll_sketch_estimate(hll_sketch_agg(col, 12))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3

> SELECT hll_sketch_estimate(hll_sketch_agg(col))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3