Apache flink ApacheFlink:使用CoFlatMapFunction合并两个数据流
我正在尝试合并相同数据类型的两个流。我看到了Apache flink ApacheFlink:使用CoFlatMapFunction合并两个数据流,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我正在尝试合并相同数据类型的两个流。我看到了CoFlatMapfunction并尝试了它,但我得到了以下错误: “未指定值参数” 代码是用Scala编写的 val eventsTypeOne: DataStream[Option[Event]] = patternStream1.select(pattern => selectFn1(pattern.toMap)) val eventsTypeTwo: DataStream[Option[Event]] = patternStream2.
CoFlatMapfunction
并尝试了它,但我得到了以下错误:
“未指定值参数”
代码是用Scala编写的
val eventsTypeOne: DataStream[Option[Event]] = patternStream1.select(pattern => selectFn1(pattern.toMap))
val eventsTypeTwo: DataStream[Option[Event]] = patternStream2.select(pattern => selectFn2(pattern.toMap))
eventsTypeOne.connect(eventsTypeTwo).flatMap(new CoFlatMapFunction[Option[Event], Option[Event], Option[Event]] {
override def flatMap1(eventTypeOne: Option[Event], out: Collector[Option[Event]]): Unit = {
out.collect(eventTypeOne)
}
override def flatMap2(eventTypeTwo: Option[Event], out: Collector[Option[Event]]): Unit = {
out.collect(eventTypeTwo)
}
})
}
如何正确使用coflatmap功能
?或者有没有更优雅的方法来合并两个数据流
提前谢谢 您可以通过使用。Union允许合并相同类型的两个流。我猜您的程序不是有效的Scala程序。发生错误的那一行会很有趣。使用union()可以实现相同的功能。谢谢!联合函数解决了我的问题problem@twalthr,你应该写评论作为对问题的回答;)