Apache beam / Scala Combine perkey

Apache beam / Scala Combine perkey

我正在寻找某人提供一个使用 Apache beam Combine.perkey 在 Scala 中使用 beam Java API.

转换的工作示例

我遇到了 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
  }
}

它给出了错误,"too many type arguments for perkey"。当我把它拿出来时,它显示 "Unspecified type parameters: OutputT".

我只需要用 java.lang.Iterable

改变 scala Iterable