共用方式為


hll_union函式

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

此函式會 利用 HyperLogLog 演算法,將兩個草圖結合成單一草圖。

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

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

語法

hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )

引數

  • exprN BINARY:包含hll_sketch_agg所產生草圖的表達式。
  • allowDifferentLgConfigK:一個可選的 BOOLEAN 表示式,用於控制是否允許合併具有不同 lgConfigK 的兩個草圖 values。 預設值為 false。

傳回

BINARY緩衝區,包含結合輸入表達式所計算的 HyperLogLog 草圖。

allowDifferentLgConfigK 參數為 true 時,結果草圖將使用兩者中較小的lgConfigKvalues。

範例

> SELECT hll_sketch_estimate(
  hll_union(
    hll_sketch_agg(col1),
    hll_sketch_agg(col2)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  6

> SELECT hll_sketch_estimate(
  hll_union(
    hll_sketch_agg(col1,  4),
    hll_sketch_agg(col2, 21)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  error