hll_union_agg
関数
適用対象: Databricks SQL Databricks Runtime 13.3 LTS 以降
この関数では、HyperLogLog アルゴリズムを使用して、スケッチのグループを 1 つのスケッチに結合します。
クエリでは、結果のバッファーを使用し、hll_sketch_estimate 関数で一意の概数を計算できます。
実装では、Apache Datasketches ライブラリを使用します。 詳細については、「HLL」を参照してください。
構文
hll_union_agg ( expr [, allowDifferentLgConfigK ] )
この関数は、OVER
句を使用して ウィンドウ 関数として呼び出すこともできます。
引数
expr
: hll_sketch_aggによって生成されるスケッチを保持するBINARY
式。allowDifferentLgConfigK
: 異なる lgConfigK 値を持つスケッチのマージを許可するかどうかを制御する省略可能なBOOLEAN
定数式。 既定値は false です。
返品
同じグループの入力式を組み合わせた結果として計算される HyperLogLog スケッチを含む BINARY
バッファー。
allowDifferentLgConfigK
パラメーターが true の場合、結果スケッチでは、指定された 2 つの lgConfigK
値のうち小さい方が使用されます。
例
> SELECT hll_sketch_estimate(hll_union_agg(sketch, true))
FROM (SELECT hll_sketch_agg(col) as sketch
FROM VALUES (1) AS tab(col)
UNION ALL
SELECT hll_sketch_agg(col, 20) as sketch
FROM VALUES (1) AS tab(col));
1
> SELECT hll_sketch_estimate(hll_union_agg(sketch, false))
FROM (SELECT hll_sketch_agg(col) as sketch
FROM VALUES (1) AS tab(col)
UNION ALL
SELECT hll_sketch_agg(col, 20) as sketch
FROM VALUES (1) AS tab(col));
error