当前位置: 首页 > 知识库问答 >
问题:

Apache Flink:多窗口聚合和后期数据

解念
2023-03-14

我们计划将Apache Flink与一个巨大的IOT设置一起使用。客户将向我们发送某种结构化的传感器数据(如sensor_id、sensor_type、sensor_value、timestamp)。我们没有控制每个客户何时发送这些数据,最有可能是实时的,但我们没有保证。我们将所有事件存储在RabbitMQ/Kafka中。更新:我们可以假设每个传感器的事件是按顺序来的。

在开始实施可能的流式管道之前,我们对以下挑战的解决方案感兴趣:

    null

当某个客户由于传感器配置错误(因为我们无法控制)而向我们发送数据时,流会发生什么?

我们很好奇你的推荐。多谢了。

共有1个答案

尤俊誉
2023-03-14

这是相当多的问题。我试着一一回答:

  1. 多窗口聚合

您可以构造级联窗口运算符的数据流,并在每个窗口之后分叉(以发出或进一步处理)结果。

Input -> window(15 secs) -> window(1 min) -> window(15 min) -> ...
                        \-> out_1        \-> out_2         \-> out_3

另一个问题将是在传感器被移除的情况下移除状态。这将不会被自动检测到。也许可以使用一个特殊的标记记录来触发状态清理。

 类似资料:
  • 尝试合并多个 Kafka 流,聚合

  • 我有以下代码来计算socketTextStream中的单词。累积字数和时间窗字数都是必需的。该程序存在累积计数始终与窗口计数相同的问题。为什么会出现这个问题?根据加窗计数计算累积计数的正确方法是什么?

  • 在中,元素被分配给一个或多个实例。在滑动事件时间窗口的情况下,这发生在1中。 如果窗口的和,则将时间戳为0的元素分配到以下窗口: 窗口(开始=0,结束=5) 窗口(开始=-1,结束=4) 窗口(开始=-2,结束=3) 窗口(开始=-3,结束=2) 窗口(开始=-4,结束=1) 在一幅图片中: 有没有办法告诉Flink时间有开始,而在那之前,没有窗户?如果没有,从哪里开始寻求改变?在上述情况下,Fl

  • 我有一个,它是由一个kafka主题创建的,并且指定了属性。 当我试图创建一个时,会话窗口化了一个查询,如下所示: 我总是得到错误: KSQL不支持对窗口表的持久查询 如何在KSQL中创建开始会话窗口的事件的?

  • 我有一个用例,需要以不同的方式处理延迟事件和正常事件:如果事件在其窗口关闭后到达,则应将其发送到另一个路径。 我想是这样的。sideOutputLateData(..) 可以帮我解决这个问题。在正常情况下(即使用真实世界的数据)也是如此。但如果我想用伪造的数据来测试它,它就会停止工作。 我希望类似于: 将导致: 相反,我得到了: 如果我使用socketTextStream作为具有相同数据的源,它将

  • 问题内容: 我在PostgreSQL 9.1中使用带有OVER子句的聚合函数,并且只想返回每个窗口的最后一行。该窗口的功能听起来像它可能做我想做的- 但事实并非如此。它为窗口中的每一行返回一行,而我希望每个窗口仅一行 一个简化的例子: 我希望它返回一行: 问题答案: [](http://www.postgresql.org/docs/current/interactive/sql- select.