全部产品
Search
文档中心

MaxCompute:HLL_COUNT_MERGE

更新时间:Dec 09, 2025

Fungsi HLL_COUNT_MERGE menerima satu atau beberapa struktur data HLL++ (sketch), menggabungkan sketch yang memiliki kelas penyimpanan yang sama menjadi sketch baru, lalu mengembalikan estimasi kardinalitas dari sketch hasil penggabungan tersebut.

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.

Sintaksis

BIGINT HLL_COUNT_MERGE(BINARY <sketch>)

Parameter

sketch: Wajib. Sketch HLL++, yaitu nilai BINARY yang dihasilkan oleh fungsi HLL_COUNT_INIT.

  • Jika sketch bernilai null, nilai tersebut akan diabaikan.

  • Semua nilai input sketch harus diinisialisasi dengan tipe data yang sama. Kesalahan akan terjadi jika Anda menggabungkan sketch yang berasal dari tipe data berbeda—misalnya, Anda tidak dapat menggabungkan sketch yang dihasilkan dari data BIGINT dengan sketch yang dihasilkan dari data STRING.

Nilai kembalian

Mengembalikan estimasi kardinalitas sebagai nilai BIGINT. Jika sketch hasil penggabungan bernilai null, fungsi ini mengembalikan 0.

Contoh

Hitung jumlah pelanggan unik yang memiliki setidaknya satu invoice di seluruh negara.

SELECT HLL_COUNT_MERGE(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 |
+--------------------------------------+
| 3                                    |
+--------------------------------------+

Fungsi terkait

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