Bagikan melalui


hll_merge()

Menggabungkan hasil HLL. Ini adalah versi skalar dari versi hll_merge()agregat .

Baca tentang algoritma yang mendasari (HyperLogLog) dan akurasi estimasi.

Penting

Hasil hll(), hll_if(), dan hll_merge() dapat disimpan dan kemudian diambil. Misalnya, Anda mungkin ingin membuat ringkasan pengguna unik harian, yang kemudian dapat digunakan untuk menghitung jumlah mingguan. Namun, representasi biner yang tepat dari hasil ini dapat berubah dari waktu ke waktu. Tidak ada jaminan bahwa fungsi-fungsi ini akan menghasilkan hasil yang identik untuk input yang identik, dan oleh karena itu kami tidak menyarankan untuk mengandalkannya.

Sintaks

hll_merge(hll, hll2, [ hll3, ... ])

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Tipe Wajib Deskripsi
hll, hll2, ... string ✔️ Nama kolom yang berisi nilai HLL untuk digabungkan. Fungsi mengharapkan antara 2-64 argumen.

Mengembalikan

Mengembalikan satu nilai HLL. Nilai adalah hasil penggabungan kolom hll, hll2, ... hllN.

Contoh

Contoh ini memperlihatkan nilai kolom yang digabungkan.

range x from 1 to 10 step 1 
| extend y = x + 10
| summarize hll_x = hll(x), hll_y = hll(y)
| project merged = hll_merge(hll_x, hll_y)
| project dcount_hll(merged)

Hasil

dcount_hll_merged
20

Akurasi estimasi

Fungsi ini menggunakan varian dari algoritma HyperLogLog (HLL), yang melakukan estimasi stokastik dari kardinalitas yang ditetapkan. Algoritma ini menyediakan "kenop" yang dapat digunakan untuk menyeimbangkan akurasi dan waktu eksekusi per ukuran memori:

Akurasi Kesalahan (%) Jumlah entri
0 1.6 212
1 0,8 214
2 0,4 216
3 0.28 217
4 0,2 218

Catatan

Kolom "jumlah entri" adalah jumlah penghitung 1 byte dalam implementasi HLL.

Algoritma ini mencakup beberapa ketentuan untuk melakukan penghitungan sempurna (zero error), jika kardinalitas set berukuran cukup kecil:

  • Ketika tingkat akurasi adalah 1, 1000 nilai dikembalikan
  • Ketika tingkat akurasi adalah 2, 8000 nilai dikembalikan

Batas kesalahan bersifat probabilistik, bukan batas teoritis. Nilainya adalah simpangan baku dari distribusi kesalahan (sigma), dan 99,7% estimasi akan memiliki kesalahan relatif di bawah 3 x sigma.

Gambar berikut menunjukkan fungsi distribusi peluang dari kesalahan estimasi relatif, dalam persentase, untuk semua pengaturan akurasi yang didukung:

Grafik memperlihatkan distribusi kesalahan hll.