次の方法で共有


theta_union_agg 集計関数

適用対象:はい Databricks SQL チェックが Databricks Runtime 18.0 以降" とマークされているチェック

複数のシータ スケッチ バッファーを使用し、集合和集合を使用してそれらを 1 つの結果バッファーにマージします。 この関数を使用して、異なるパーティションまたは期間のスケッチを結合します。

構文

theta_union_agg ( sketch [, lgNomEntries ] )

論争

  • sketch: バイナリ形式のΘスケッチ (集計関数theta_sketch_aggなど)。
  • lgNomEntries: 共用体バッファーの名目エントリの log-base-2 を指定する省略可能な INTEGER リテラル。 4 ~ 26 の範囲で指定する必要があります。 既定値は 12 です。 値が大きいほど精度は向上しますが、使用するメモリは多くなります。

返品ポリシー

すべての入力スケッチの和集合を表す、マージされたシリアル化された Theta スケッチを含む BINARY 値。

注記

  • 和集合演算は、異なる lgNomEntries 値を持つ入力スケッチを処理します。
  • NULL 値は集計中は無視されます。
  • 2 つのスケッチを正確に結合するには、代わりにスカラー 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