【发布时间】:2021-08-31 03:38:13
【问题描述】:
我有一系列日志,我根据发生的某些步骤(基于行中的数据)对其进行分组
在序列正式结束后(第 4 步),一个步骤可能会重复多次,我想从汇总语句中拒绝这些。
在下表中,第一组应该在第 1 和第 6 行之间,第二组应该在第 9 和第 14 行之间。我会按组总结这些,但我想拒绝第 4 步之后出现的记录每个序列。
示例数据
| Line | timestamp | step | group | LogLine |
|---|---|---|---|---|
| 1 | 2000-07-01T16:51 | 1 | 1 | init |
| 2 | 2000-07-01T16:52 | 2 | 1 | start |
| 3 | 2000-07-01T16:53 | 3 | 1 | 20% |
| 4 | 2000-07-01T16:53 | 3 | 1 | 21% |
| 5 | 2000-07-01T16:53 | 3 | 1 | 23% |
| 6 | 2000-07-01T16:54 | 4 | 1 | end |
| 7 | 2000-07-01T16:55 | 3 | 1 | 19% |
| 8 | 2000-07-01T16:56 | 3 | 1 | 18% |
| 9 | 2000-07-01T16:57 | 1 | 2 | init |
| 10 | 2000-07-01T16:58 | 2 | 2 | start |
| 11 | 2000-07-01T16:59 | 3 | 2 | 45% |
| 12 | 2000-07-01T17:00 | 3 | 2 | 47% |
| 13 | 2000-07-01T17:01 | 3 | 2 | 52% |
| 14 | 2000-07-01T17:02 | 4 | 2 | end |
| 15 | 2000-07-01T17:01 | 3 | 2 | 51% |
| 16 | 2000-07-01T17:02 | 3 | 2 | 48% |
| 17 | 2000-07-01T17:01 | 3 | 2 | 46% |
| 18 | 2000-07-01T17:02 | 3 | 2 | 43% |
| 19 | 2000-07-01T17:01 | 3 | 2 | 42% |
| 20 | 2000-07-01T17:02 | 3 | 2 | 41% |
基本上我正在尝试做一个
summarize .........
by group where timestamp between (step1Timestamp, step4Timestamp)
这可能吗?
总结后的期望(我知道该怎么做)。我只是不知道如何将步骤 3 的结果限制在步骤 1 和步骤 4 的时间戳之间。
| group | start% | end% | startTime | endTime |
|---|---|---|---|---|
| 1 | 20% | 23% | 2000-07-01T16:51 | 2000-07-01T16:54 |
| 2 | 45% | 52% | 2000-07-01T16:57 | 2000-07-01T17:02 |
请注意,我不能对第 3 步中的百分比使用最小值/最大值,因为它会给我在第 4 步之后出现的某些分组的值。
【问题讨论】:
标签: azure-data-explorer kql kusto-explorer