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:發生唯一計數的 、BIGINTSTRINGBINARY 類型的INT運算式。
  • 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