机器数据分析平台

  • 机器数据分析平台 > 产品手册 > SPL参考手册 > eventstats

    eventstats

    最近更新时间:2019-11-07 15:06:21

    eventstats 命令对现有字段进行统计,并将结果另存为新字段添加到搜索结果中。

    语法

    eventstats <StatsFunc>(, StatsFunc) <by filed1>(, fieldn)

    参数说明

    stats_func:

    • 语法:funcName (field) [as field]
    • 描述:指定函数名称、统计字段,使用 as 子句将统计结果放入指定的新字段。 stats 函数请参阅 stats 支持的统计函数

    by filed:指定分组字段,可选。

    eventstats 和 stats 的区别

    stats是对原始日志进行聚合统计,eventstats 命令是将统计结果作为字段附加到每个日志数据上。

    举例说明:

    原始数据

    user subject grade
    a math 100
    a english 80
    b math 80
    b english 70

    stats 语句:stats sum(grade) by user

    返回结果:

    user sum(grade)
    a 180
    b 150

    eventstats语句:eventstats sum(grade) by user

    返回结果:

    user subject grade sum(grade)
    a math 100 180
    a english 80 180
    b math 80 150
    b english 70 150

    eventstats业务使用场景示例

    计算出数据库日志中查询时间的平均值和标准差。筛选出日志中查询时间超出平均查询时间+/- 2倍标准差的范围之外的数据。这个可以作为一个动态的筛选算法,找出数据中的异常指标。

    • | eventstats stdev(queryTime) as stdev, avg(queryTime) as avg
      | eval lowerbound = avg + stdev * 2, upperbound = avg - std * 2
      | eval isOutlier=case(queryTime < lowerBound OR queryTime > upperBound, 1, 0)
    以上内容是否对您有帮助?
  • Icon helper
    Icon free helper
    Close