全部产品
Search
文档中心

Simple Log Service:Fungsi HyperLogLog

更新时间:Jun 26, 2025

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.

Penting Jika Anda ingin menggunakan string dalam pernyataan analitik, apit string tersebut dengan tanda kutip tunggal (''). String yang tidak diapit atau diapit dengan tanda kutip ganda ("") akan dianggap sebagai nama bidang atau kolom. Sebagai contoh, 'status' menunjukkan string status, sedangkan status atau "status" menunjukkan bidang log status.

Fungsi

Sintaksis

Deskripsi

Didukung di SQL

Didukung di SPL

fungsi approx_set

approx_set(x)

Memperkirakan jumlah nilai unik di bidang x. Kesalahan standar maksimum adalah 0,01625, yang merupakan nilai default.

×

fungsi cardinality

cardinality(x)

Mengonversi data HyperLogLog menjadi data bigint.

×

fungsi empty_approx_set

empty_approx_set()

Mengembalikan nilai null dari tipe HyperLogLog. Kesalahan standar maksimum adalah 0,01625, yang merupakan nilai default.

×

fungsi merge

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
      Time
  • Hasil Kueri dan Analisisapprox_set

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 UV
  • Hasil Kueri dan Analisiscardinality

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 Analisisempty_approx_set

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 Analisismerge