适用于:
Databricks Runtime 18.1 及更高版本
从键值对创建 Datasketches TupleSketch,其中键用于非重复计数和整数摘要值根据指定模式聚合。
Syntax
tuple_sketch_agg_integer ( key, summary [, lgNomEntries [, mode ]] )
Arguments
-
键:用于唯一值计数的表达式。 接受的类型为
INTEGER、、LONG、、DOUBLEFLOAT、STRING、BINARY、ARRAY<INTEGER>和ARRAY<LONG>。 -
摘要:
INTEGER要为每个键关联和聚合的值。 -
lgNomEntries:指定名义条目的 log-base-2 的可选
INTEGER文本。 必须介于 4 到 26 之间(含)。 默认值为 12(4,096 桶)。 较高的值可提供更好的准确性,但使用更多内存。 -
mode:一个可选
STRING文本,用于指定摘要的聚合模式。 有效值:'sum'、'min'、'max'、'alwaysone'。 默认值为'sum'。
退货
一个 BINARY 值,该值包含带整数摘要的序列化压缩元组。
注释
-
NULL聚合期间忽略键或摘要值。 - 对于键,将忽略空字符串、空字节数组和空数组。
- 参数
lgNomEntriesmode必须是常量值。 - 使用 tuple_sketch_estimate_integer 获取非重复计数估计值。
- 使用 tuple_sketch_summary_integer 获取聚合摘要值。
错误消息
例子
-- Create sketch and get distinct count estimate
> SELECT tuple_sketch_estimate_integer(tuple_sketch_agg_integer(key, summary)) FROM VALUES (1, 5), (1, 1), (2, 2), (2, 3), (3, 2) tab(key, summary);
3.0
-- Get aggregated summary (sum mode by default)
> SELECT tuple_sketch_summary_integer(tuple_sketch_agg_integer(key, summary)) FROM VALUES (1, 1), (1, 2), (2, 3) tab(key, summary);
6