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,你应该写评论作为对问题的回答;)