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