You need to enable JavaScript to run this app.
文档中心
日志服务

日志服务

复制全文
下载 pdf
SQL 函数
估算函数
复制全文
下载 pdf
估算函数
本文介绍日志服务支持的估算函数语法及常见场景的使用示例。​
函数列表​
说明​
在日志服务分析语句(SQL 语句)中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。例如'time' 代表字符串,time 或 "time" 代表字段名或列名。​
​
函数名称​
函数语法​
说明​
APPROX_PERCENTILE(KEY, percentage)​
对一组值进行正序排列,返回大约处于某百分位的 KEY 值。​
​
APPROX_PERCENTILE(KEY, array[percentage01, percentage02...])​
对一组值进行正序排列,返回大约处于百分位 1、百分位 2 的 KEY 值。​
​
APPROX_PERCENTILE(KEY, weight, percentage)​
对一组值和权重的乘积结果进行正序排列,返回大约处于某百分位的 KEY 值。​
​
APPROX_PERCENTILE(KEY, weight, array[percentage01, percentage02...])​
对一组值和权重的乘积结果进行正序排列,返回大约处于百分位 1、百分位 2 的 KEY 值。​
​
APPROX_PERCENTILE(KEY, weight, percentage, accuracy)​
对一组值和权重的乘积结果进行正序排列,返回大约处于某百分位的值。支持设置准确度。​
approx_most_frequent(KEY, x)​
统计 x 列各值出现的次数并按降序排列,返回出现频率最高的前 key 个值及其对应的出现次数。​
​
APPROX_PERCENTILE 函数​
APPROX_PERCENTILE 函数用于对一列值进行正序排列,返回大约处于某百分位的 KEY 值。​
函数语法​
  • 语法格式​
  • 对一列值进行正序排列,返回处于指定百分位的 KEY 值。​
  • ​
    APPROX_PERCENTILE(KEY, percentage)​
    ​
  • 对一列值进行正序排列,返回处于百分位 1、百分位 2 的 KEY 值,返回结果为数组格式。​
  • ​
    APPROX_PERCENTILE(KEY, array[percentage01, percentage02...])​
    ​
  • 对一列值和权重的乘积结果进行正序排列,返回大约处于指定百分位的 KEY 值。​
  • ​
    APPROX_PERCENTILE(KEY, weight, percentage)​
    ​
  • 对一列值和权重的乘积结果进行正序排列,返回处于百分位 1、百分位 2 的 KEY 值,返回结果为数组格式。​
  • ​
    APPROX_PERCENTILE(KEY, weight, array[percentage01, percentage02...])​
    ​
  • 对一列值和权重的乘积结果进行正序排列,返回大约处于某百分位的 KEY 值,返回结果为 Double 类型。支持设置准确度。​
  • ​
    APPROX_PERCENTILE(KEY, weight, percentage, accuracy)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Double 类型。​
    percentage​
    百分比值,取值范围为 [0,1]。​
    accuracy​
    准确度,取值范围为 (0,1)。​
    weight​
    权重,大于 1 的整数。​
    设置权重后,系统根据 KEY 值与权重的乘积结果进行排序。​
    ​
  • 返回值说明​
  • 返回值为 Double 类型或 Array(double) 类型。​
函数示例​
  • 示例1​
  • 场景​
  • 对 test_double 字段值进行排列后,返回大约处于 50% 位置的 test_double字段值。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    *| SELECT APPROX_PERCENTILE(test_double,0.5)​
    ​
  • 检索和分析结果​
  • ​​​
  • 示例2​
  • 场景​
  • 对 test_double 字段值进行排列后,返回处于 10%、20% 及 70% 位置的 test_double 字段值。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    *| SELECT APPROX_PERCENTILE(test_double,array[0.1,0.2,0.7])​
    ​
  • 检索和分析结果​
  • ​​​
  • 示例3​
  • 场景​
  • 根据 test_double 字段值与权重的乘积结果对 test_double 字段值进行排列后,返回大约处于 50% 位置的 test_double 字段值。其中,test_double 字段值小于 1.5 时权重为 100,否则权重为 10。​
  • 检索和分析语句​
  • ​
    * |​
    SELECT​
    APPROX_PERCENTILE(​
    test_double,case when test_double < 1.5 then 100 else 10 end,​
    0.5​
    )​
    ​
  • 日志样例​
  • ​​​
  • 检索和分析结果​
  • ​​​
  • 示例4​
  • 场景​
  • 根据 test_double 字段值与权重的乘积结果对 test_double 字段值进行排列后,返回大约处于 50% 和 90% 位置的 test_double 字段值。其中,test_double 字段值小于 1.5 时权重为 100,否则权重为 10。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    * |​
    SELECT​
    APPROX_PERCENTILE(​
    test_double,case when test_double < 1.5 then 100 else 10 end,​
    array [0.5,0.9]​
    )​
    ​
  • 检索和分析结果​
  • ​​​
  • 示例5​
  • 场景​
  • 根据 test_double 字段值与权重的乘积结果对 test_double 字段值进行排列后,返回大约处于 50% 位置的 test_double 字段值,准确度为 0.2。其中,test_double 字段值小于 1.5 时权重为 100,否则权重为 10。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    * |​
    SELECT​
    APPROX_PERCENTILE(​
    test_double,case when test_double < 1.5 then 100 else 10 end,​
    0.5,​
    0.2​
    )​
    ​
  • 检索和分析结果​
  • ​​​
approx_most_frequent 函数​
approx_most_frequent 函数用于统计 x 列各值出现的次数并按降序排列,返回出现频率最高的前 key 个值及其对应的出现次数。​
函数语法​
  • 语法格式​
  • ​
    approx_most_frequent(KEY, x)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    出现次数最高的 KEY 个值,3 表示返回出现频率最高的 3 个值及其对应的出现次数。​
    x​
    参数值为 varchar 类型。​
    ​
  • 返回值说明​
  • 返回值为 map(varchar, bigint) 类型。​
函数示例​
  • 场景​
  • 估算 content 字段中出现频率最高的 3 个值。​
  • 日志样例​
  • ​
    content: ​
    'B'​
    'A'​
    'A'​
    'A'​
    'A'​
    'B'​
    'B'​
    'C'​
    'C'​
    'D'​
    ​
  • 检索和分析语句​
  • ​
    * | select approx_most_frequent(3, content)​
    ​
  • 检索和分析结果​
  • 查询返回一行数据,列名为 _col0,值为 {"A":4,"B":3,"C":2}。​
最近更新时间:2026.08.28 16:45:49
这个页面对您有帮助吗?
有用
有用
无用
无用