apache-flink - 如何在Flink流中的空窗口上执行函数?

标签 apache-flink flink-streaming

我编写了一个 Flink 程序,用于从简单的 kafka 流计算每个键控窗口的事件数。我工作出色、快速且准确。当源停止时,我希望每个窗口的计算结果为 0,但没有发送结果。该函数只是不执行。我认为这是因为 Flink 的惰性操作行为。

有什么推荐吗?

最佳答案

我也遇到过同样的情况。用另一个进程填补数据库中的漏洞是一个解决方案。

但是,我发现将主流与自定义期刊源结合起来更容易,该源会发出虚拟数据,其唯一作用是触发窗口创建。执行此操作时,您必须确保在计算中忽略虚拟对象。

Here is how to code a periodical source (但是您可能不需要 RichParallelSourceFunction,SourceFunction 就足够了)

关于apache-flink - 如何在Flink流中的空窗口上执行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34326408/

相关文章:

scala - Flink 可以处理单个表/窗口约 50 GB 的状态吗?

apache-flink - 如何配置 Flink 使用 Hdfs 进行后端状态和检查点

apache-kafka - FlinkKafkaConsumer 中事件时间顺序的保证

amazon-web-services - 如何构建和使用flink-connector-kinesis?

apache-flink - Flink MiniCluster 如何触发 ProcessTimeTimer

apache-flink - AggregateFunction 中合并方法的含义

apache-flink - 将作业 jar 添加到 $FLINK_HOME/lib 时获取以下类转换异常

hadoop - Apache Flink - 跟踪最大值

java - 如何在 Flink 中连接两个流并进行操作?

java - 如何在 Apache Flink 中注册 java.util.List 类型