Flink Cogroup - 值映射不是对象的成员
Flink Cogroup - value map is not a member of Object
我尝试 运行 Flink website 中提供的 CoGroup 函数的示例 Scala 代码,但它抛出错误“value map is not a member of Object”。
这是我的代码
val iVals: DataSet[(String, Int)] = env.fromCollection(Seq(("a",1),("b",2),("c",3)))
val dVals: DataSet[(String, Int)] = env.fromCollection(Seq(("a",11),("b",22)))
val output = iVals.coGroup(dVals).where(0).equalTo(0) {
(iVals, dVals, out: Collector[Double]) =>
val ints = iVals map { _._2 } toSet
for (dVal <- dVals) {
for (i <- ints) {
out.collect(dVal._2 * i)
}
}
}
output.print()
我不知道是什么原因导致错误,或者是否有任何我错过导入的库?谢谢
您是否尝试过为 iVals
和 dVals
添加类型注释?似乎 Scala 正在推断类型 Object
,因此出现错误。 (为什么,我不知道)。
我的意思是:
(iVals: Iterator[(String, Int)], dVals: Iterator[(String, Int)], out: Collector[Double]) =>
我尝试 运行 Flink website 中提供的 CoGroup 函数的示例 Scala 代码,但它抛出错误“value map is not a member of Object”。 这是我的代码
val iVals: DataSet[(String, Int)] = env.fromCollection(Seq(("a",1),("b",2),("c",3)))
val dVals: DataSet[(String, Int)] = env.fromCollection(Seq(("a",11),("b",22)))
val output = iVals.coGroup(dVals).where(0).equalTo(0) {
(iVals, dVals, out: Collector[Double]) =>
val ints = iVals map { _._2 } toSet
for (dVal <- dVals) {
for (i <- ints) {
out.collect(dVal._2 * i)
}
}
}
output.print()
我不知道是什么原因导致错误,或者是否有任何我错过导入的库?谢谢
您是否尝试过为 iVals
和 dVals
添加类型注释?似乎 Scala 正在推断类型 Object
,因此出现错误。 (为什么,我不知道)。
我的意思是:
(iVals: Iterator[(String, Int)], dVals: Iterator[(String, Int)], out: Collector[Double]) =>