すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:HyperLogLog関数

最終更新日:Aug 26, 2024

HyperLogLog関数は近似集計関数であり、approx_distinct関数に似ています。 大量のデータが計算に含まれる場合、HyperLogLog関数を使用して、より短い時間内に推定結果を返すことができます。 このトピックでは、HyperLogLog関数の構文について説明します。 このトピックでは、HyperLogLog関数の使用方法の例も提供します。

次の表に、Simple Log ServiceでサポートされているHyperLogLog関数を示します。

重要

分析ステートメントで文字列を使用する場合は、文字列を単一引用符 (')で囲む必要があります。 二重引用符 (") で囲まれていない、または囲まれている文字列は、フィールド名または列名を示します。 例えば、 'status' はステータスの文字列を示し、status または "status" はステータスログフィールドを示します。

関数

構文

説明

SQLでサポート

SPLでサポート

approx_set関数

approx_set( x)

xフィールドの個別の値の数を推定します。 最大標準誤差は0.01625で、これがデフォルト値です。

×

カーディナリティ関数

cardinality( x)

HyperLogLogデータをbigintデータに変換します。

×

empty_approx_set関数

empty_approx_set()

HyperLogLog型のnull値を返します。 最大標準誤差は0.01625で、これがデフォルト値です。

×

マージ関数

merge( x)

すべてのHyperLogLog値を集計します。

×

approx_set関数

approx_set関数は、xフィールド内の異なる値の数を推定します。 最大標準誤差は0.01625で、これがデフォルト値です。

構文

approx_set(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は任意のデータ型です。

戻り値のデータ型

HyperLogLogタイプ。

1分あたりのユニークビジター数 (UV) を推定します。 戻り値はHyperLogLogタイプです。

  • クエリ文

    * |
    SELECT
      date_trunc('minute', __time__) AS Time,
      approx_set(client_ip) AS UV
    FROM  website_log
    GROUP BY
      Time
    ORDER BY
      Time
  • クエリと分析結果 approx_set

cardinality関数

カーディナリティ関数は、HyperLogLogデータをbigintデータに変換します。

構文

cardinality(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、HyperLogLogタイプです。

戻り値のデータ型

bigint型。

HyperLogLogデータをbigintデータに変換します。 approx_set関数は、1分あたりのUVの推定数を返します。 戻り値はHyperLogLogタイプです。 cardinality関数は、戻り値をbigintデータに変換します。

  • クエリ文

    * |
    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
  • クエリと分析結果 cardinality

empty_approx_set関数

empty_approx_set関数は、HyperLogLog型のnull値を返します。 最大標準誤差は0.01625で、これがデフォルト値です。

構文

empty_approx_set()

戻り値のデータ型

HyperLogLogタイプ。

HyperLogLogタイプのnull値を取得します。

  • クエリ文

    * | SELECT empty_approx_set()
  • クエリと分析結果 empty_approx_set

マージ関数

マージ関数は、すべてのHyperLogLog値を集計します。

構文

merge(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、HyperLogLogタイプです。

戻り値のデータ型

HyperLogLogタイプ。

HyperLogLog値を集計します。 approx_set関数は、1分あたりのUVの推定数を返します。 マージ関数は、15分のUVの数を集計します。 カーディナリティ関数は、HyperLogLogデータをbigintデータに変換します。

  • クエリ文

    * |
    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
      )
  • クエリと分析結果 merge