Fungsi HyperLogLog adalah fungsi agregat aproksimatif yang mirip dengan fungsi approx_distinct. Fungsi ini digunakan untuk mengembalikan hasil estimasi dalam waktu lebih singkat, terutama saat melibatkan sejumlah besar data. Topik ini menjelaskan sintaksis dan menyediakan contoh penggunaan fungsi HyperLogLog.
Tabel berikut menjelaskan fungsi HyperLogLog yang didukung oleh Simple Log Service.
Fungsi | Sintaksis | Deskripsi | Didukung di SQL | Didukung di SPL |
approx_set(x) | Memperkirakan jumlah nilai unik di bidang x. Kesalahan standar maksimum adalah 0,01625, yang merupakan nilai default. | √ | × | |
cardinality(x) | Mengonversi data HyperLogLog menjadi data bigint. | √ | × | |
empty_approx_set() | Mengembalikan nilai null dari tipe HyperLogLog. Kesalahan standar maksimum adalah 0,01625, yang merupakan nilai default. | √ | × | |
merge(x) | Menggabungkan semua nilai HyperLogLog. | √ | × |
fungsi approx_set
Fungsi approx_set memperkirakan jumlah nilai unik di bidang x. Kesalahan standar maksimum adalah 0,01625, yang merupakan nilai default.
Sintaksis
approx_set(x)Parameter
Parameter | Deskripsi |
x | Nilai parameter ini adalah tipe data apa pun. |
Tipe Nilai Pengembalian
Tipe HyperLogLog.
Contoh
Memperkirakan jumlah pengunjung unik (UV) per menit. Nilai pengembalian berupa tipe HyperLogLog.
Pernyataan Kueri
* | SELECT date_trunc('minute', __time__) AS Time, approx_set(client_ip) AS UV FROM website_log GROUP BY Time ORDER BY TimeHasil Kueri dan Analisis

fungsi cardinality
Fungsi cardinality mengonversi data HyperLogLog menjadi data bigint.
Sintaksis
cardinality(x)Parameter
Parameter | Deskripsi |
x | Nilai parameter ini adalah tipe HyperLogLog. |
Tipe Nilai Pengembalian
Tipe bigint.
Contoh
Mengonversi data HyperLogLog menjadi data bigint. Fungsi approx_set mengembalikan perkiraan jumlah UV per menit dalam tipe HyperLogLog. Fungsi cardinality mengonversi nilai pengembalian menjadi data bigint.
Pernyataan Kueri
* | SELECT Time, cardinality(UV) AS UV FROM ( SELECT date_trunc('minute', __time__) AS Time, approx_set(client_ip) AS UV FROM website_log GROUP BY Time ORDER BY Time ) AS UVHasil Kueri dan Analisis

fungsi empty_approx_set
Fungsi empty_approx_set mengembalikan nilai null dari tipe HyperLogLog. Kesalahan standar maksimum adalah 0,01625, yang merupakan nilai default.
Sintaksis
empty_approx_set()Tipe Nilai Pengembalian
Tipe HyperLogLog.
Contoh
Mendapatkan nilai null dari tipe HyperLogLog.
Pernyataan Kueri
* | SELECT empty_approx_set()Hasil Kueri dan Analisis

fungsi merge
Fungsi merge menggabungkan semua nilai HyperLogLog.
Sintaksis
merge(x)Parameter
Parameter | Deskripsi |
x | Nilai parameter ini adalah tipe HyperLogLog. |
Tipe Nilai Pengembalian
Tipe HyperLogLog.
Contoh
Menggabungkan nilai HyperLogLog. Fungsi approx_set mengembalikan perkiraan jumlah UV per menit. Fungsi merge menggabungkan jumlah UV selama 15 menit. Fungsi cardinality mengonversi data HyperLogLog menjadi data bigint.
Pernyataan Kueri
* | SELECT Time, cardinality(UV) AS UV, cardinality(merge(UV) over()) AS Total_UV FROM ( SELECT date_trunc('minute', __time__) AS Time, approx_set(client_ip) AS UV FROM log GROUP BY Time ORDER BY Time )Hasil Kueri dan Analisis
