count_min_sketch
聚合函数
适用于: Databricks SQL Databricks Runtime
返回具有 epsilon
、confidence
和 seed
的 column
中的组中所有值的 count-min sketch。
在 Databricks SQL 和 Databricks Runtime 13.3 LTS 及更高版本中,此函数支持命名参数调用。
语法
count_min_sketch ( [ALL | DISTINCT] column, epsilon, confidence, seed ) [FILTER ( WHERE cond ) ]
还可以使用 OVER
子句将此函数作为窗口函数调用。
参数
column
:计算结果为整型数值、STRING
或BINARY
的表达式。epsilon
:大于 0 的DOUBLE
文本,描述相对错误。confidence
:大于 0 且小于 1 的DOUBLE
文本。seed
:INTEGER
文本。cond
:可选的布尔表达式,可筛选用于聚合的行。
返回
一个 BINARY
。
Count-min sketch 是一个概率数据结构,用于通过子线性空间进行基数估算。
如果指定了 DISTINCT
,则该函数仅对 expr
值的唯一集合进行操作。
示例
-- Named parameter invocation
> SELECT hex(count_min_sketch(column => col, confidence => 0.5d, epsilon => 0.5d, seed => 1)) FROM VALUES (1), (2), (1) AS tab(col);
0000000100000000000000030000000100000004000000005D8D6AB90000000000000000000000000000000200000000000000010000000000000000
> SELECT hex(count_min_sketch(DISTINCT col, 0.5d, 0.5d, 1)) FROM VALUES (1), (2), (1) AS tab(col);
0000000100000000000000020000000100000004000000005D8D6AB90000000000000000000000000000000100000000000000010000000000000000