我正在运行一个 flink 作业,它需要两个数据源并将它们连接起来。
连接的输出是一个数据流。但如果连接失败,我也会发出一个侧面输出。现在,我将来自侧输出的数据流通过 ProcessFunction 传递,该 ProcessFunction 从真实来源查找丢失的连接数据并生成丰富的记录
我将原始连接的数据流与处理后的侧输出中的流结合起来,并将其传递到接收器
如您所见,处理后的侧输出已经发出 95 条记录,而接收器输入 37,280 只与连接运算符输出的内容匹配
我就是这么做
unionedDataStream = joinedDataStream.union(processedSideOutputStream);
unionedDataStream.addSink(sink)
现在,如果我记录发送到接收器的记录,我也可以看到来自侧面输出的记录。然而,这只是数字不匹配。是 UI 的问题还是我做错了什么?
这听起来像 FLINK-27944,已在 Flink 版本 1.15.4、1.16.1 和 1.17.0 中修复。