是否需要在Flink中使用Windows?

时间:2019-04-03 05:18:57

标签: scala apache-flink flink-streaming

我正在尝试转换数据流,而不使用Flink提供的任何窗口。我的代码看起来像这样:

val stream1 = executionEnvironment.getStream
val stream2 = stream1.flatMap(someFunction)

stream2.addSink(s3_Sink)
executionEnvironment.execute()

但是,提交并运行我的工作后,我在S3上没有任何输出。 Web UI显示已接收0个字节,已接收0个记录,已发送0个字节,已发送0个记录。

另一个正在运行的Flink作业已经在使用相同的数据源,因此该数据源很好。任何地方都没有错误,但仍然没有输出。因为我没有使用任何窗口或键操作,所以可能是这个问题吗?分配了递增时间戳后,我尝试获取输出,但未获得任何输出。有什么想法行不通的吗?

1 个答案:

答案 0 :(得分:2)

我想这与缺少窗口无关。经验法则:如果您希望进行任何形式的汇总(折叠,缩小等),请使用窗口。

关于您的最初问题:从目前为止所显示的内容,我只能想象flatMap运算符不会产生任何输出(与始终必须发出值flatMap的地图相反,它可能会过滤掉所有内容)。也许您可以添加更多代码,以便我们更仔细地研究。