flink版本使用1.12.2,业务需要用到了侧输出流,首先先创建了一个侧输出标签
val outputTagDate = OutputTag[String]("Date-side-output")。程序写完编译的时候报
type mismatch :
 found   : org.apache.flink.streaming.api.scala.OutputTag[String]
 required: org.apache.flink.util.OutputTag[java.io.Serializable]
Note: String <: java.io.Serializable, but Java-defined class OutputTag is
invariant in type T.
You may wish to investigate a wildcard type such as `_ <:
java.io.Serializable`. (SLS 3.2.10)
        ctx.output(outputTagDate,
Date(first_retain,noob_endtime,noob_first_endtime))
之后我修改了包名 import org.apache.flink.util.{OutputTag =>CommOutputTag}
然后重新创建  val outputTagDate = new CommOutputTag [String]("Date-side-output")
但是后面从测流中取时 val dateDS: DataStream[String] = ds.getSideOutput(outputTagDate)
报错。还是报type.,mismatch,
required: org.apache.flink.streamiing.api.scala.OutputTag[NotInferedX]
found:  org.apache.flink.util.OutputTag   [String]
  outputTagDate这个变量怎么一会儿需要   org.apache.flink.streaming.api.scala.OutputTag
一会儿又要 org.apache.flink.util.OutputTag呢。
为啥会这样呢,这块应该怎么书写呢?

回复