

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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`を取得し、スケッチによって表される値の基数 (一意の数) を推定します。は 5 行のテストデータセット`FROM VALUES (1), (1), (2), (2), (3) tab(col);`を生成します。この`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
```

次の例と前の例の違いは、精度パラメータ (12 ビット) が`hll_sketch_agg`関数呼び出しで指定されていないことです。この場合、デフォルトの精度である 14 ビットが使用されます。これにより、12 ビットの精度を使用した前の例と比較して、一意のカウントのより正確な推定が得られます。

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