All Products
Search
Document Center

MaxCompute:Fungsi HyperLogLog++

Last Updated:Aug 22, 2026

Fungsi HyperLogLog++ adalah fungsi agregat aproksimasi yang mampu menghapus duplikat data secara cepat dengan penggunaan memori minimal saat volume data besar, sehingga mempercepat kueri. Topik ini menjelaskan fungsi HyperLogLog++.

Latar Belakang

HyperLogLog (disingkat HLL) adalah algoritma deduplikasi aproksimasi yang efisien. Algoritma ini cocok untuk skenario yang tidak memerlukan presisi tinggi, seperti statistik page view (PV) dan unique visitor (UV), serta dapat berfungsi sebagai alternatif ringan untuk COUNT(DISTINCT). Berbeda dengan metode deduplikasi eksak seperti Bitmap, HLL menggunakan struktur data berukuran tetap (sketch) secara internal, sehingga penggunaan memorinya tidak meningkat seiring bertambahnya volume data. Saat data baru masuk, hanya diperlukan satu perhitungan hash. Untuk volume data yang besar, kesalahan deduplikasi HLL biasanya dikendalikan dalam kisaran 1% atau bahkan lebih rendah, sehingga mencapai keseimbangan antara efisiensi dan kegunaan.

Untuk memenuhi kebutuhan dasar deduplikasi aproksimasi, MaxCompute menyediakan fungsi agregat APPROX_DISTINCT. Seiring semakin beragamnya skenario bisnis, banyak pengguna tidak hanya ingin menghasilkan output hasil deduplikasi akhir, tetapi juga menyimpan atau menggunakan kembali struktur data sketch antara. Untuk memenuhi kebutuhan ini, MaxCompute kini mendukung rangkaian lengkap fungsi HyperLogLog++ dan telah mengoptimalkan algoritma dasarnya. Hal ini mengurangi penggunaan memori sekaligus meningkatkan akurasi estimasi lebih lanjut, sehingga lebih baik mendukung skenario analitik kompleks.

Berikut dua skenario khas penggunaan HLL:

  • Skema yang memerlukan kueri berulang berdasarkan dimensi waktu: Dengan menyimpan persisten sketch HLL yang dihasilkan setiap hari, perhitungan selanjutnya hanya perlu memproses data baru yang ditambahkan pada hari tersebut dan menggabungkannya dengan sketch historis. Tidak perlu melakukan pemindaian ulang terhadap seluruh data historis, sehingga efisiensi kueri meningkat signifikan.

  • Skema yang memerlukan deduplikasi gabungan beberapa kolom dengan tipe yang sama: Anda dapat membuat dan menyimpan sketch yang sesuai untuk masing-masing kolom, lalu langsung melakukan operasi penggabungan (merge) pada level sketch. Hal ini memungkinkan penggunaan ulang hasil deduplikasi secara efisien dan secara signifikan mengurangi beban komputasi.

Daftar Fungsi

MaxCompute SQL mendukung fungsi HyperLogLog++ berikut ini.

Fungsi

Deskripsi

HLL_COUNT_INIT

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

HLL_COUNT_MERGE_PARTIAL

Menggabungkan beberapa sketch HLL++ dengan tipe penyimpanan yang sama menjadi sketch baru.

HLL_COUNT_EXTRACT

Menghitung estimasi kardinalitas dari sketch HLL++.

HLL_COUNT_MERGE

Menggabungkan beberapa sketch HLL++ dengan tipe penyimpanan yang sama menjadi sketch baru dan mengembalikan estimasi kardinalitas dari sketch yang digabungkan tersebut.

Catatan

HLL_COUNT_EXTRACT/HLL_COUNT_MERGE/HLL_COUNT_MERGE_PARTIAL Data BINARY yang digunakan oleh fungsi-fungsi tersebut harus berasal dari fungsi HLL_COUNT_INIT, dan tidak boleh berasal dari sistem atau metode lain.