hll_merge()
Berlaku untuk: ✅Microsoft Fabric✅✅
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 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:
Konten terkait
- Menggunakan hll() dan tdigest()
- hll() (fungsi agregasi)
- hll_if() (fungsi agregasi)
- hll_merge() (fungsi agregasi)