共用方式為


hll_union_agg函式

適用於:核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 13.3 LTS 和更新版本

此函式會 利用 HyperLogLog 演算法,將一組草圖合併成單一草圖。

查詢可以使用產生的緩衝區,利用 hll_sketch_estimate 函式來計算近似的唯一 計數。

實作會使用 Apache Datasketches 連結庫。 如需詳細資訊,請參閱 HLL

語法

hll_union_agg ( expr [, allowDifferentLgConfigK ] )

您也可以使用 OVER 子句,將此函式叫用為 window 函式

引數

  • expr BINARY:包含hll_sketch_agg所產生草圖的表達式。
  • allowDifferentLgConfigK:選擇性 BOOLEAN 常數運算式,控制是否允許將草圖與不同的 lgConfigK 合併 values。 預設值為 false。

傳回

BINARY緩衝區,其中包含計算為合併相同群組之輸入表達式所計算的 HyperLogLog 草圖。

allowDifferentLgConfigK 參數為 true 時,結果草圖會使用所提供的兩個 lgConfigKvalues中較小的一個。

範例

> 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