6.16 次序相关的分组:连续相同值分组 - 大数据

 

数据量很大,在相邻记录的字段值变化时分新组,最后汇总。
在数据量大的日志文件中,日志是按日期时间顺序输出的。查找日志级别连续出现 ERROR 次数最多的一天。

Date Time Level IP
2020/1/1 0:00:01 INFO 166.253.153.234
2020/1/1 0:00:02 INFO 99.72.133.239
2020/1/1 0:00:04 WARM 99.11.105.39
2020/1/1 0:00:05 INFO 117.69.80.195
2020/1/1 0:00:11 INFO 79.195.137.228

使用 cs.group() 函数:在相邻记录的字段值变化时分新组:

脚本:

A
1 =file(“ServerLog.txt”).cursor@t()
2 =A1.group(Date,Level;count(~):Count)
3 =A2.select(Level:“ERROR”)
4 =A3.top(1;ErrorCount)

A1 创建日志文件游标
A2 使用 cs.group() 函数,在相邻的日期和日志级别值变化时分新组。
A3 选出日志级别为 ERROR 的分组
A4 获得连续 ERROR 次数最多的组

运行结果:

Date ErrorCount
2020/01/02 4