注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
支持于: 流处理
在窗口内对数据执行指定的聚合,并根据提供的触发器发出输出。
变换类别: 聚合
下表显示了所有后续示例中使用的输入数据流。最近流式传输的行在表中较高。
行顺序 | 天 | 房间 | 温度 |
---|---|---|---|
5 | Monday | 厨房 | 5 |
4 | Monday | 厨房 | 4 |
3 | Monday | 厨房 | 3 |
2 | Monday | 厨房 | 2 |
1 | Monday | 厨房 | 1 |
此外,每个示例都是下方显示的滑动窗口聚合节点的变体。
输出:
房间 | 天 | 最后两次读数 | 最后一次读数 |
---|---|---|---|
厨房 | Monday | [4, 5] | 5 |
厨房 | Monday | [3, 4] | 4 |
厨房 | Monday | [2, 3] | 3 |
厨房 | Monday | [1, 2] | 2 |
厨房 | Monday | [1] | 1 |
解释: 每次新行到达时,聚合会发出一个包含最后2行的组。聚合在窗口未满之前发出,因为每个窗口的行数始终是滑动(1)的倍数。
输出
房间 | 天 | 最后两次读数 | 最后一次读数 |
---|---|---|---|
厨房 | Monday | [4, 5] | 5 |
厨房 | Monday | [3, 4] | 4 |
厨房 | Monday | [2, 3] | 3 |
厨房 | Monday | [1, 2] | 2 |
解释: 每次新行到达时,聚合会发出一个包含最后2行的组。聚合直到窗口满之前都不会发出。
输出
房间 | 天 | 最后两次读数 | 最后一次读数 |
---|---|---|---|
厨房 | Monday | [3, 4] | 4 |
厨房 | Monday | [1, 2] | 2 |
解释: 每次有两行新行到达时,聚合会发出一个包含最后2行的组。当第一次发出行时,每个窗口的行数是滑动(2)的倍数,窗口同时填满。
输出
房间 | 天 | 最后两次读数 | 最后一次读数 |
---|---|---|---|
厨房 | Monday | [3, 4] | 4 |
厨房 | Monday | [1, 2] | 2 |
解释: 每次有两行新行到达时,聚合会发出一个包含最后2行的组。聚合直到窗口满之前都不会发出。
输出
房间 | 天 | 最后两次读数 | 最后一次读数 |
---|---|---|---|
厨房 | Monday | [4, 5] | 5 |
厨房 | Monday | [1, 2] | 2 |
解释: 在窗口填满后,每次有三行新行到达时,聚合会发出一个包含最后2行的组。第一次行被发出是因为窗口第一次填满。在这种情况下,由于滑动大于窗口计数,可以在未满前发出
没有效果。
输出
房间 | 天 | 最后两次读数 | 最后一次读数 |
---|---|---|---|
厨房 | Monday | [4, 5] | 5 |
厨房 | Monday | [1, 2] | 2 |
解释: 在窗口填满后,每次有三行新行到达时,聚合会发出一个包含最后2行的组。第一次行被发出是因为窗口第一次填满。在这种情况下,由于滑动大于窗口计数,可以在未满前发出
没有效果。