hll_union_agg
函式
適用於: Databricks SQL Databricks Runtime 13.3 LTS 和更新版本
此函式會 利用 HyperLogLog 演算法,將一組草圖合併成單一草圖。
查詢可以使用產生的緩衝區,利用 hll_sketch_estimate 函式來計算近似的唯一 計數。
實作會使用 Apache Datasketches 連結庫。 如需詳細資訊,請參閱 HLL 。
語法
hll_union_agg ( expr [, allowDifferentLgConfigK ] )
您也可以使用 子句,將此函式叫用OVER
為視窗函式。
引數
expr
BINARY
:包含hll_sketch_agg所產生草圖的表達式。allowDifferentLgConfigK
:選擇性BOOLEAN
常數表達式,控制是否允許合併具有不同 lgConfigK 值的草圖。 預設值為 false。
傳回
BINARY
緩衝區,其中包含計算為合併相同群組之輸入表達式所計算的 HyperLogLog 草圖。
allowDifferentLgConfigK
當參數為 true 時,結果草圖會使用兩個提供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