全部产品
Search
文档中心

MaxCompute:Fungsi HyperLogLog++

更新时间:Dec 09, 2025

Fungsi HyperLogLog++ adalah fungsi agregat aproksimasi yang menggunakan sedikit memori untuk melakukan deduplikasi pada set data besar secara cepat dan mempercepat kueri.

Informasi latar belakang

HyperLogLog (HLL) adalah algoritma efisien untuk deduplikasi aproksimasi, cocok digunakan dalam skenario yang tidak memerlukan presisi tinggi, seperti statistik page view (PV) dan unique visitor (UV). HLL dapat menjadi alternatif ringan terhadap COUNT(DISTINCT). Berbeda dengan metode deduplikasi presisi seperti Bitmap, HLL menggunakan struktur data internal berukuran tetap yang disebut sketch. Penggunaan memori oleh sketch ini tidak meningkat seiring dengan volume data. Saat data baru ditambahkan, hanya diperlukan satu perhitungan hash. Dalam skenario data besar, kesalahan deduplikasi HLL biasanya berada dalam kisaran 1% atau kurang, sehingga memberikan keseimbangan antara efisiensi dan akurasi.

Untuk deduplikasi aproksimasi dasar, MaxCompute menyediakan fungsi agregat APPROX_DISTINCT. Seiring semakin beragamnya skenario bisnis, pengguna membutuhkan kemampuan untuk menyimpan atau menggunakan kembali struktur data sketch antara, bukan hanya menghasilkan output akhir deduplikasi. Untuk mendukung kebutuhan tersebut, MaxCompute menyediakan rangkaian lengkap fungsi HyperLogLog++ dengan algoritma dasar yang telah dioptimalkan. Fungsi-fungsi ini mengurangi penggunaan memori dan meningkatkan akurasi estimasi, sehingga memberikan dukungan lebih baik untuk skenario analisis kompleks.

Berikut dua skenario khas penggunaan HLL:

  • Skema yang memerlukan kueri berulang dari waktu ke waktu: Anda dapat menyimpan sketch HLL yang dihasilkan setiap hari. Perhitungan selanjutnya hanya perlu memproses data baru pada hari tersebut dan menggabungkannya dengan sketch historis. Pendekatan ini menghilangkan kebutuhan untuk memindai ulang seluruh data historis, sehingga secara signifikan meningkatkan efisiensi kueri.

  • Skema yang memerlukan deduplikasi gabungan di beberapa kolom serupa: Anda dapat membuat dan menyimpan sketch untuk setiap kolom, lalu langsung menggabungkan sketch-sketch tersebut. Pendekatan ini memungkinkan penggunaan ulang hasil deduplikasi secara efisien dan sangat mengurangi beban komputasi.

Daftar fungsi

SQL MaxCompute mendukung fungsi HyperLogLog++ berikut ini.

Fungsi

Fitur

HLL_COUNT_INIT

Mengagregasi nilai-nilai dengan tipe yang sama ke dalam sketch HLL++ baru.

HLL_COUNT_MERGE_PARTIAL

Menggabungkan beberapa sketch HLL++ dengan kelas penyimpanan yang sama ke dalam sketch baru.

HLL_COUNT_EXTRACT

Menghitung estimasi kardinalitas dari sketch HLL++.

HLL_COUNT_MERGE

Menggabungkan beberapa sketch HLL++ dengan kelas penyimpanan yang sama ke dalam sketch baru dan mengembalikan estimasi kardinalitas dari sketch yang digabungkan 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.