theta_union_agg 聚合函数

适用于:检查标记为“是”的 Databricks SQL 检查标记为“是”是 Databricks Runtime 18.0 及更高版本

使用多个 Theta Sketch 缓冲区,并使用集联合将它们合并到一个结果缓冲区中。 使用此函数合并不同分区或时间段的草图。

Syntax

theta_union_agg ( sketch [, lgNomEntries ] )

Arguments

  • 草图:二进制格式的 Theta Sketch(如聚合函数)。theta_sketch_agg
  • lgNomEntries:指定联合缓冲区名义条目的 log-base-2 的可选 INTEGER 文本。 必须介于 4 到 26 之间(含)。 默认值为 12。 较高的值可提供更好的准确性,但使用更多内存。

退货

一个 BINARY 值,该值包含合并的序列化的 Theta Sketch,表示所有输入草图的并集。

备注

  • 联合作处理具有不同 lgNomEntries 值的输入草图。
  • NULL 聚合期间忽略值。
  • 若要完全合并两个草图,请改用标量 theta_union 函数

错误消息

示例

-- Merge sketches from different groups
> SELECT theta_sketch_estimate(theta_union_agg(sketch)) FROM (
    SELECT theta_sketch_agg(col) AS sketch FROM VALUES (1), (2), (3) AS tab(col)
    UNION ALL
    SELECT theta_sketch_agg(col) AS sketch FROM VALUES (3), (4), (5) AS tab(col)
  ) t;
5

-- Merge sketches with custom lgNomEntries
> SELECT theta_sketch_estimate(theta_union_agg(sketch, 15)) FROM (
    SELECT theta_sketch_agg(col) AS sketch FROM VALUES (1), (2) AS tab(col)
    UNION ALL
    SELECT theta_sketch_agg(col, 20) AS sketch FROM VALUES (2), (3) AS tab(col)
  ) t;
3