在Flink中,我正在使用readTextFile
读取文件并将60毫秒的SlidingProcessingTimeWindows.of(Time.milliseconds(60), Time.milliseconds(60))
应用于滑动60毫秒。在窗口流上,我正在计算元组的第二个字段的均值。我的文本文件包含1100行,每行都是元组(String,Integer)。我已将并行性设置为1,并在元组的第一个字段上键入消息。滑动处理时间窗口计算不一致的结果
当我运行代码时,每次得到不同的答案。我的意思是,它看起来像,有时读取整个文件,有时它读取文件的第一行。它与滑动窗口的大小有关系吗?如何找出这种关系,以便我可以决定窗口的大小和滑动量?
使用处理时间时,您不能指望一致的可重复结果。在你的情况下,它只是一个问题,可以在60毫秒内处理多少文件,这取决于系统负载等等。有时它能够处理整个文件,有时它不能;这很正常。看看http://data-artisans.com/how-apache-flink-enables-new-streaming-applications-part-1/了解更多信息。 –