共用方式為


hll_sketch_agg 聚合函數

適用於:核取記號為「是」 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:對INTBIGINTSTRINGBINARY類型的運算式進行唯一計數。
  • 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