【发布时间】:2020-10-29 19:38:09
【问题描述】:
我有一个包含时间、ID、两种事件类型(A 和 B)以及(当前)空白的共现列的数据流。我想浏览数据集,对于每个 B 事件,检查前 5 秒内是否有 A。如果是这样,则该 A 事件行将在其共现列中接收来自 B 事件的 ID。在极少数情况下存在多个,第二个共现会添加到第二列(或者两者都可以进入同一列以便稍后处理)。
我可以使用循环和一些逻辑来实现大部分所需的结果,但有时会在 A 的 5 秒内出现多个 B,或者在 B 之前的 5 秒内出现多个 A,因此使用当前第 -1 行没有捕获这些。
示例数据流如下所示:
Time ID Event Co1 Co2
7:47:28 X1 A
7:47:30 X2 B
7:48:02 X3 A
7:48:04 X4 A
7:48:05 X5 B
7:50:11 X1 A
7:50:12 X2 B
7:50:15 X5 B
7:55:50 X6 A
7:55:52 X2 B
通过正确的处理应该会产生:
Time ID Event Co1 Co2
7:47:28 X1 A X2
7:47:30 X2 B
7:48:02 X3 A X5
7:48:04 X4 A X5
7:48:05 X5 B
7:50:11 X1 A X2 X5
7:50:12 X2 B
7:50:15 X5 B
7:55:50 X6 A X2
7:55:52 X2 B
任何正确方向的帮助或指示将不胜感激!
【问题讨论】:
-
您的 ID 应该是唯一的吗?否则不清楚将其放入 col1 和 col2 的目的是什么
-
ID 是唯一的,但是对于这部分处理,ID 是转到 Co1 还是 Co2 或一起发送到单个列中并不重要,例如“X2X5”。我可以在稍后阶段拆分和移动它们