kll_sketch_merge_bigint 函数

适用于:勾选为是 Databricks Runtime 18.0 及更高版本

将两个兼容的整数 KLL 草图合并到单个草图中。

Syntax

kll_sketch_merge_bigint ( sketch1, sketch2 )

Arguments

  • sketch1 BINARY:包含序列化整数 KLL 草图的表达式。
  • sketch2 BINARY:包含序列化整数 KLL 草图的表达式。

退货

包含合并草图的BINARY 值。

注释

  • 这两个草图必须适用于同一数据类型(整数)。
  • 合并的草图与输入草图具有相同的 k 参数。
  • 无法合并具有不同 k 值的草图。
  • 适用于分布式聚合:为每个分区创建草图,然后合并。

例子

-- Merge sketches from different data partitions
-- Use merged sketch for quantile estimation across all data
> WITH partition1 AS (
    SELECT kll_sketch_agg_bigint(value) AS sketch FROM VALUES (1), (2) AS T(value)
  ),
  partition2 AS (
    SELECT kll_sketch_agg_bigint(value) AS sketch FROM VALUES (3), (4) AS T(value)
  ),
  merged AS (
    SELECT kll_sketch_merge_bigint(p1.sketch, p2.sketch) AS sketch
    FROM partition1 p1, partition2 p2
  )
  SELECT kll_sketch_get_quantile_bigint(sketch, 0.5) FROM merged
  2