You need to enable JavaScript to run this app.
导航
HyperLogLog 函数
最近更新时间:2024.11.22 11:13:39首次发布时间:2024.11.22 11:13:39

本文介绍日志服务支持的类型转换函数语法及常见场景的使用示例。

函数列表

说明

  • 目前日志服务控制台不支持展示 HyperLogLog 类型字符串,您可以通过类型转换函数,将 HyperLogLog 类型转换为二进制类型。类型转换函数说明请参考CAST 函数TRY_CAST 函数
  • 在日志服务分析语句(SQL 语句)中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。例如'time' 代表字符串,time"time" 代表字段名或列名。

函数名称

语法

说明

APPROX_SET 函数

APPROX_SET(KEY)

估算 KEY 字段中不重复的值个数。

EMPTY_APPROX_SET 函数

EMPTY_APPROX_SET()

构造一个 HyperLogLog 数据类型的空值

MERGE 函数

MERGE(KEY)

将多个 HyperLogLog 合并为一个 HyperLogLog。

APPROX_SET 函数

APPROX_SET 函数用于估算 KEY 字段中不重复的值个数,最大标准误差的值默认为 0.01625。

函数语法

  • 语法格式

    APPROX_SET(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,值为任意数据类型。

  • 返回值说明
    返回值为 HyperLogLog 类型。

函数示例

  • 场景
    通过请求 ID 估算请求数量,返回结果为 HyperLogLog 编码。

  • 检索和分析语句

    * | SELECT CAST(APPROX_SET(ReqID) AS varbinary)
    
  • 检索和分析结果
    Image

EMPTY_APPROX_SET 函数

EMPTY_APPROX_SET 函数用于构造一个 HyperLogLog 数据类型的空值。

函数语法

  • 语法格式

    EMPTY_APPROX_SET()
    
  • 返回值说明
    返回值为 HyperLogLog 类型。

函数示例

  • 场景
    构造一个 HyperLogLog 类型的空值。

  • 检索和分析语句

    * | SELECT CAST(EMPTY_APPROX_SET() AS varbinary) LIMIT 1
    
  • 检索和分析结果
    Image

MERGE 函数

MERGE 函数用于将多个 HyperLogLog 合并为一个 HyperLogLog。

函数语法

  • 语法格式

    MERGE(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,值为 HyperLogLog 类型。

  • 返回值说明
    返回值为 HyperLogLog 类型。

函数示例

  • 场景
    使用 APPROX_SET 函数估算每小时的请求数量(HyperLogLog 类型),再使用 MERGE 函数将所有的请求数量合并为一个 HyperLogLog。

  • 检索和分析语句

    * | SELECT CAST(MERGE(UV) AS varbinary) 
    FROM  (
        SELECT
          DATE_TRUNC('hour', __time__) AS time,
          APPROX_SET(ReqID) AS UV
        GROUP BY
          time
        ORDER BY
          time
      )
    
  • 检索和分析结果
    Image