简介

使用概率性 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 上编辑此页