適用於:
Databricks SQL
Databricks Runtime 13.3 LTS 和更新版本
此函式會利用 HyperLogLog 演演算法來計算指定數據行中唯一值數目的概率近似值,並將結果輸出為稱為草圖緩衝區的二進位表示法。 此二進位表示法適用於持續性。
查詢可以使用產生的緩衝器,利用 hll_sketch_estimate 函式來計算唯一計數的近似值。
hll_union和hll_union_agg函式也可以藉由取用和合併這些緩衝區作為輸入,將草圖結合在一起。
實作會使用 Apache Datasketches 連結庫。 如需詳細資訊,請參閱 HLL 。
語法
hll_sketch_agg ( expr [, lgConfigK ] )
您也可以將此函式視為 視窗函式,並使用 OVER 子句來叫用。
引數
-
expr:對INT、BIGINT、STRING或BINARY類型的運算式進行唯一計數。 -
lgConfigK:4 到 21 之間的選擇性INT常數,包含預設值 12。 K 的 log-base-2,其中 K 是草圖的貯體或位置數目。
忽略任何 NULL 中的 expr 。
退貨
非NULLBINARY 緩衝區包含 HyperLogLog 草圖,這是通過在匯總組中消耗並匯總所有輸入值後計算得出的。
範例
> SELECT hll_sketch_estimate(hll_sketch_agg(col, 12))
FROM VALUES (1), (1), (2), (2), (3) tab(col);
3
> SELECT hll_sketch_estimate(hll_sketch_agg(col))
FROM VALUES (1), (1), (2), (2), (3) tab(col);
3