全部产品
Search
文档中心

MaxCompute:HLL_COUNT_MERGE_PARTIAL

更新时间:Dec 09, 2025

Fungsi HLL_COUNT_MERGE_PARTIAL menerima satu atau beberapa sketsa HyperLogLog++ (HLL++) sebagai input dan menggabungkannya menjadi sketsa baru, asalkan sketsa tersebut memiliki kelas penyimpanan yang sama.

Catatan

Data BINARY yang digunakan oleh fungsi HLL_COUNT_EXTRACT, HLL_COUNT_MERGE, dan HLL_COUNT_MERGE_PARTIAL harus dihasilkan oleh fungsi HLL_COUNT_INIT. Data dari sistem atau metode lain tidak dapat digunakan.

Format perintah

BINARY HLL_COUNT_MERGE_PARTIAL(BINARY <sketch>)

Parameter

sketch: Wajib diisi. Nilai BINARY yang merepresentasikan sketsa HLL++ yang dihasilkan oleh fungsi HLL_COUNT_INIT.

  • Semua nilai input sketch harus diinisialisasi dengan tipe data yang sama. Kesalahan akan dikembalikan jika Anda mencoba menggabungkan sketsa dengan tipe yang berbeda. Misalnya, Anda tidak dapat menggabungkan sketsa yang dihasilkan dari data BIGINT dengan sketsa yang dihasilkan dari data STRING.

  • Jika Anda menggabungkan objek sketch dengan presisi yang berbeda, presisi akan diturunkan ke presisi terendah di antara sketch yang digabungkan. Misalnya, jika Anda menggabungkan objek sketch dengan presisi 14 dan 15, sketch baru dengan presisi 14 akan dikembalikan.

Nilai kembalian

Mengembalikan sketsa baru bertipe BINARY. Jika input bernilai NULL, maka NULL dikembalikan.

Contoh

Kueri berikut mengembalikan sketsa HLL++ yang menghitung jumlah pengguna unik yang memiliki setidaknya satu faktur di seluruh negara.

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
  );

Hasil berikut dikembalikan:

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

Fungsi terkait

HLL_COUNT_MERGE_PARTIAL adalah fungsi HyperLogLog++. MaxCompute menyediakan serangkaian fungsi HyperLogLog++ untuk agregasi perkiraan. Untuk informasi selengkapnya, lihat HyperLogLog++ functions.