Fungsi HLL_COUNT_INIT mengagregasi nilai-nilai dengan tipe yang sama ke dalam struktur data HyperLogLog++ (HLL++) baru (sketch).
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.
Format perintah
BINARY HLL_COUNT_INIT(<col_name> [, BIGINT <precision>])Parameter
col_name: Wajib. Nama kolom. Kolom harus bertipe data BIGINT, DECIMAL, STRING, atau BINARY.
precision: Opsional. Presisi perkiraan. Nilainya harus berupa bilangan bulat BIGINT dalam rentang [10, 24]. Nilai default-nya adalah 15. Nilai yang lebih tinggi memberikan presisi lebih baik tetapi memerlukan ruang penyimpanan lebih besar untuk sketch tersebut.
Nilai kembali
Mengembalikan sketch HLL++ bertipe BINARY. Jika input col_name bernilai NULL, maka nilai kembalinya adalah NULL.
Untuk menggabungkan sketch, gunakan HLL_COUNT_MERGE atau HLL_COUNT_MERGE_PARTIAL.
Untuk mengambil jumlah nilai unik, gunakan HLL_COUNT_EXTRACT.
Skenario
Kueri berikut membuat sketch HLL++ untuk menghitung jumlah individu unik yang ditagih di setiap negara.
SELECT
country,
HLL_COUNT_INIT(customer_id, 10) 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:
+---------+------------+
| country | hll_sketch |
+---------+------------+
| BR | =02=01=0A=00=01=00=00=00=20s=8E=00 |
| CZ | =02=01=0A=00=01=00=00=00=98_$=03 |
| UA | =02=01=0A=00=02=00=00=00=F0=8B=DD=00=98_$=03 |
+---------+------------+Fungsi terkait
HLL_COUNT_INIT merupakan fungsi HLL++. MaxCompute mendukung serangkaian fungsi HLL++ untuk agregasi aproksimasi. Untuk informasi selengkapnya, lihat HyperLogLog++ functions.