count_min_sketch 聚合函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

返回具有 epsilonconfidenceseedcolumn 中的组中所有值的 count-min sketch。

在 Databricks SQL 和 Databricks Runtime 13.3 及更高版本中,此函数支持命名参数调用

语法

count_min_sketch ( [ALL | DISTINCT] column, epsilon, confidence, seed ) [FILTER ( WHERE cond ) ]

还可以使用 OVER 子句将此函数作为窗口函数调用。

参数

  • column:计算结果为整型数值、STRINGBINARY 的表达式。
  • epsilon:大于 0 的 DOUBLE 文本,描述相对错误。
  • confidence:大于 0 且小于 1 的 DOUBLE 文本。
  • seedINTEGER 文本。
  • 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