java - Apache Beam / Scala 组合 perkey
问题描述
我正在寻找一个人提供一个使用 Apache 梁 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”。
解决方案
我只需要用 java.lang.Iterable 更改 scala Iterable
推荐阅读
- r - 如何根据R中列的百分位数保留行?
- grails - groovy:将字符串(这是一个列表)转换为 Groovy 列表
- python - NumpyBackend 对象没有属性 'tucker'
- javascript - THREE.js 水毛刺反射
- python - 为什么 Kivy ActionBar 不能正常工作?
- python - Pandas - 计算下一个/即将到来的 x 天数的价值频率
- r - 有没有办法以编程方式跳过小插图构建?
- r - 在所有预定义的元素集发生后拆分向量
- python - AttributeError:意外属性“响应”图
- asp.net-core - JsonPatchDocument
使用 flurl 客户端进入 API 时 parm 为空