

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# HLL\_SKETCH\_ESTIMATE 函數
<a name="HLL_SKETCH_ESTIMATE"></a>

HLL\_SKETCH\_ESTIMATE 函數採用 HLL 草圖，並估計草圖所代表的唯一元素數量。它使用 HyperLogLog (HLL) 演算法來計算指定資料欄中唯一值數量的概率近似值，使用先前由 HLL\_SKETCH\_AGG 函數產生的草圖緩衝區二進位表示法，並將結果傳回為大整數。

HLL 素描演算法提供一種有效方法來估算唯一元素的數量，即使是大型資料集也一樣，而不必存放完整的一組唯一值。

`hll_union` 和 `hll_union_agg`函數也可以將這些緩衝區作為輸入耗用並合併，以將草圖結合在一起。

## 語法
<a name="HLL_SKETCH_ESTIMATE-synopsis"></a>

```
HLL_SKETCH_ESTIMATE (hllsketch_expression)
```

## 引數
<a name="HLL_SKETCH_ESTIMATE-argument"></a>

 *hllsketch\_expression*   
保留 HLL\_SKETCH\_AGG 產生的草圖的`BINARY`表達式

## 傳回類型
<a name="HLL_SKETCH_ESTIMATE-return-type"></a>

HLL\_SKETCH\_ESTIMATE 函數會傳回 BIGINT 值，該值是輸入草圖表示的近似差異計數。

## 範例
<a name="HLL_SKETCH_ESTIMATE-examples"></a>

下列範例使用 HyperLogLog (HLL) 素描演算法來估計`col`資料欄中值的基數 （唯一計數）。`hll_sketch_agg(col, 12)` 函數會取得 `col`資料欄，並使用 12 位元的精確度建立 HLL 草圖。HLL 草圖是一種近似資料結構，可有效估計集合中唯一元素的數量。`hll_sketch_estimate()` 函數會採用由 建立的 HLL 草圖，`hll_sketch_agg`並預估草圖所代表值的基數 （唯一計數）。`FROM VALUES (1), (1), (2), (2), (3) tab(col);` 會產生具有 5 列的測試資料集，其中資料`col`欄包含值 1、1、2、2 和 3。此查詢的結果是資料`col`欄中值的估計唯一計數，即 3。

```
SELECT hll_sketch_estimate(hll_sketch_agg(col, 12))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3
```

下列範例和上一個範例之間的差異在於未在`hll_sketch_agg`函數呼叫中指定精確度參數 (12 位元）。在此情況下，會使用 14 位元的預設精確度，相較於先前使用 12 位元精確度的範例，這可提供更準確的唯一計數預估。

```
SELECT hll_sketch_estimate(hll_sketch_agg(col))
FROM VALUES (1), (1), (2), (2), (3) tab(col);
3
```