结合不同Flink工作的结果

时间:2018-06-14 13:16:36

标签: apache-kafka apache-flink flink-streaming flink-cep

我有3个作业从同一输入流中读取。 每个都给出不同的输出 如何组合来自不同作业的结果 并创建一个JSON字符串

示例:{“key”:“input_msg”,“result_1”:“job1_result”,...}

我希望避免查询数据库,好像我将我的工作扩展到一个会产生负面影响的巨大数字。

2 个答案:

答案 0 :(得分:1)

是可以的

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)))
}

答案 1 :(得分:0)

您可以将所有三个作业合并为一个,然后加入三个部分的结果以形成连接的JSON结果。