我有 3 个作业从同一个输入流中读取。 每个都提供不同的输出 如何合并不同作业的结果 并创建单个 JSON 字符串
示例:{"键":"input_msg", "result_1":"job1_result",...}
我希望避免查询数据库,就好像我将作业扩展到会产生负面影响的大量工作一样。
是的,这是可能的
available_topics = List("topic_1", "topic_2")
var streams = collection.mutable.Map[String, DataStream[String]]()
for(a <- 0 until available_topics.size){
streams += (available_topics(a) -> env.addSource(new FlinkKafkaConsumer09(available_topics(a), new SimpleStringSchema(), properties)).map(x => someFunctionThatS(x)))
}
您可以将所有三个作业合并为一个,然后将这三个部分的结果联接起来以形成联接的 JSON 结果。