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

MaxCompute:HLL_COUNT_MERGE_PARTIAL

最終更新日:Dec 09, 2025

HLL_COUNT_MERGE_PARTIAL 関数は、1 つ以上の HyperLogLog++ (HLL++) スケッチを入力として受け取り、同じストレージクラスを持つスケッチをマージして新しいスケッチを生成します。

注意事項

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

コマンドフォーマット

BINARY HLL_COUNT_MERGE_PARTIAL(BINARY <sketch>)

パラメーター

sketch:必須。HLL_COUNT_INIT 関数によって生成された HLL++ スケッチを表す BINARY 型の値です。

  • 入力されるすべての sketch の値は、同じデータ型で初期化されている必要があります。異なる型のスケッチをマージしようとすると、エラーが返されます。たとえば、BIGINT 型のデータから生成されたスケッチと STRING 型のデータから生成されたスケッチをマージすることはできません。

  • 異なる精度の sketch オブジェクトをマージした場合、マージされたスケッチの中で最も低い精度に合わせられます。たとえば、 精度が 14 と 15 の sketch オブジェクトをマージすると、精度が 14 の新しい sketch が返されます。

戻り値

BINARY 型の新しいスケッチを返します。入力が NULL の場合、NULL が返されます。

次のクエリは、すべての国にわたって少なくとも 1 つの請求書を持つユニークユーザー数をカウントする HLL++ スケッチを返します。

SELECT HLL_COUNT_MERGE_PARTIAL(HLL_sketch) AS distinct_customers_with_open_invoice
FROM
  (
    SELECT
    country,
    HLL_COUNT_INIT(customer_id) 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
  );

次の結果が返されます。

+--------------------------------------+
| distinct_customers_with_open_invoice |
+--------------------------------------+
| =02=01=0F=00=03=00=00=00=20s=8E=00=F0=8B=DD=00=98_$=03 |
+--------------------------------------+

関連関数

HLL_COUNT_MERGE_PARTIAL は HyperLogLog++ 関数です。MaxCompute は、概算集計のための一連の HyperLogLog++ 関数を提供しています。詳細については、「HyperLogLog++ 関数」をご参照ください。