Объединение результатов из разных заданий Flink

У меня есть 3 задания, которые читаются из одного входного потока. Каждый дает свой результат. Как мне объединить результаты разных заданий и создать единую строку JSON

Пример: {"key": "input_msg", "result_1": "job1_result", ...}

Я надеюсь избежать запросов к БД, как будто я масштабирую свои рабочие места до огромного количества, что окажет негативное влияние.


person Sub Zero    schedule 14.06.2018    source источник


Ответы (2)


Да это возможно

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)))
}
person Ideas frontier    schedule 29.06.2018
comment
Я пришел к аналогичному ответу - person Sub Zero; 29.06.2018

Вы можете объединить все три задания в одно, а затем объединить результаты трех частей, чтобы сформировать объединенный результат JSON.

person Till Rohrmann    schedule 15.06.2018