我可以在同一个Flink作业中使用DataSet API和DataStream API吗?

时间:2017-07-12 06:35:46

标签: apache-flink flink-streaming

我正在使用Flink流来读取Kafka的数据并处理数据。在应用程序启动时从Kafka使用之前,我需要使用DataSet API读取文件,并根据某些条件对文件进行排序,并从中创建一个列表。然后开始以流媒体方式从Kafka消费。我编写了一个逻辑来使用DataSet API从文件中读取和排序数据。但是当我尝试调试程序时,它永远不会执行,Flink立即开始从Kafka中消耗。有没有什么方法可以先处理数据集,然后在Flink中进行流式处理?

2 个答案:

答案 0 :(得分:1)

不,不可能混合使用DataSet和DataStream API。但是,您可以从相同的main()方法启动这两个程序,但必须将DataSet程序的排序结果写入DataStream程序使用的文件中。

答案 1 :(得分:0)

为您的DataSet操作创建另一个Flink作业,并将结果存入您的Streaming Job正在消耗的Kafka。

相关问题