すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:HLL_COUNT_INIT

最終更新日:Dec 09, 2025

HLL_COUNT_INIT 関数は、同じ型の値を集約して、新しい HyperLogLog++ (HLL++) データ構造 (スケッチ) を作成します。

注意事項

HLL_COUNT_EXTRACTHLL_COUNT_MERGE、および HLL_COUNT_MERGE_PARTIAL の各関数で使用する `BINARY` データは、HLL_COUNT_INIT 関数で生成されたものでなければなりません。他のシステムやメソッドで生成されたデータは使用できません。

コマンド構文

BINARY HLL_COUNT_INIT(<col_name> [, BIGINT <precision>])

パラメーター

  • col_name: 必須。カラム名。カラムは `BIGINT`、`DECIMAL`、`STRING`、または `BINARY` データ型である必要があります。

  • precision: 任意。推定精度。値は `10` から `24` までの範囲の `BIGINT` 整数である必要があります。デフォルト値は `15` です。値が大きいほど精度は高くなりますが、スケッチに必要なストレージ領域も増加します。

戻り値

BINARY HLL++ スケッチを返します。入力 col_name が NULL の場合、戻り値は NULL です。

利用シーン

次のクエリでは、HLL++ スケッチを作成し、国ごとに請求書に含まれる一意の顧客数を計算します。

SELECT
  country,
  HLL_COUNT_INIT(customer_id, 10) AS hll_sketch
    FROM values
      ('UA', 'customer_id_1', 'invoice_id_11'),
      ('BR', 'customer_id_3', 'invoice_id_31'),
      ('CZ', 'customer_id_2', 'invoice_id_22'),
      ('CZ', 'customer_id_2', 'invoice_id_23'),
      ('BR', 'customer_id_3', 'invoice_id_31'),
      ('UA', 'customer_id_2', 'invoice_id_24')
    t(country, customer_id, invoice_id)
GROUP BY country;

次の結果が返されます。

+---------+------------+
| country | hll_sketch |
+---------+------------+
| BR      | =02=01=0A=00=01=00=00=00=20s=8E=00 |
| CZ      | =02=01=0A=00=01=00=00=00=98_$=03 |
| UA      | =02=01=0A=00=02=00=00=00=F0=8B=DD=00=98_$=03 |
+---------+------------+

関連関数

HLL_COUNT_INIT は HLL++ 関数です。MaxCompute は、近似集約のための一連の HLL++ 関数をサポートしています。詳細については、「HyperLogLog++ 関数」をご参照ください。