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



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

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

为您的数据集操作创建另一个 Flink 作业,并将结果下沉到您的流作业正在使用的 Kafka 中。

最新更新