我正在使用Flink流来读取Kafka的数据并处理数据。在应用程序启动时从Kafka使用之前,我需要使用DataSet API读取文件,并根据某些条件对文件进行排序,并从中创建一个列表。然后开始以流媒体方式从Kafka消费。我编写了一个逻辑来使用DataSet API从文件中读取和排序数据。但是当我尝试调试程序时,它永远不会执行,Flink立即开始从Kafka中消耗。有没有什么方法可以先处理数据集,然后在Flink中进行流式处理?
答案 0 :(得分:1)
不,不可能混合使用DataSet和DataStream API。但是,您可以从相同的main()
方法启动这两个程序,但必须将DataSet程序的排序结果写入DataStream程序使用的文件中。
答案 1 :(得分:0)
为您的DataSet操作创建另一个Flink作业,并将结果存入您的Streaming Job正在消耗的Kafka。