我正在寻找某人使用beam Java API提供在Scala中使用Apache beam Combine.perkey转换的工作示例。
我遇到了scala / java类型互操作性问题。
我无法将每个键组合起来工作。我永远无法让它在语法上正确。
示例:
val sales: PCollection KV[(Int,Int), Long]
sales.apply(Combine.perKey[(Int,Int),Long,Long](new SumLongs()))
import org.apache.beam.sdk.transforms.SerializableFunction
class SumLongs extends SerializableFunction[Iterable[Long], Long] {
override def apply(input: Iterable[Long]): Long = {
var sum = 0L
for (item <- input) {
sum += item
}
sum
}
}
它给出了错误,&#34; perkey&#34;的类型参数太多了。当我拿出它时,它表示&#34;未指定的类型参数:OutputT&#34;。
答案 0 :(得分:0)
我只需要用java.lang.Iterable
更改scala Iterable