Я ищу кого-то, кто предоставил бы рабочий пример использования преобразования Apache beam Combine.perkey в Scala с использованием 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
}
}
Это выдает ошибку "слишком много аргументов типа для perkey".Когда я вынимаю это, он заявляет «Неуказанные параметры типа: OutputT».