简介

使用概率count-min sketch数据结构及其相关算法,统计列中某个值出现的次数。对于允许小误差率的应用程序,这可以在 CPU 时间和内存方面节省大量成本,特别是对于大型数据集。

相关超函数组
警告

此函数组包含一些实验性函数。实验性函数可能在未来的版本中发生更改或被删除。我们建议不要在生产环境中使用它们。实验性函数标记有**实验性**标签。

聚合

count_min_sketch
实验性将数据聚合到CountMinSketch中以进行近似计数

访问器

approx_count
实验性根据CountMinSketch估计某个值出现的次数
count_min_sketch(
values TEXT,
error DOUBLE PRECISION,
probability DOUBLE PRECISION,
) RETURNS CountMinSketch

将数据聚合到CountMinSketch对象中,您可以使用该对象估计给定项在列中出现的次数。草图生成频率的偏差估计量。它可能会高估项目计数,但不能低估。

您可以控制相对误差和估计值落在误差边界之外的概率。

必需参数
名称类型描述
valuesTEXT要计数的值的列
errorDOUBLE PRECISION估计中的误差容限,相对于添加到草图中的值数量进行计算
probabilityDOUBLE PRECISION估计值落在误差边界之外的概率
返回值
类型描述
count_min_sketchCountMinSketch存储计数器表的对象
approx_count (
item TEXT,
agg CountMinSketch
) RETURNS INTEGER

估计给定文本值在列中出现的次数。

必需参数
名称类型描述
itemTEXT您要估计出现次数的值
aggCountMinSketch使用count_min_sketch创建的CountMinSketch对象
返回值
类型描述
approx_countINTEGERitem在草图中出现的估计次数
示例

给定股票数据表,估计符号AAPL出现的次数

WITH t AS (
SELECT toolkit_experimental.count_min_sketch(symbol, 0.01, 0.01) AS symbol_sketch
FROM stocks_real_time
)
SELECT toolkit_experimental.approx_count('AAPL', symbol_sketch)
FROM t;

关键字

在此页面上发现问题了吗?报告问题 或在 GitHub 上编辑此页面