我有以下代码:
PCollection<KV<String, Cell>> first = ...;
PCollection<String> lines = first
.apply("Build lines", Combine.<String, Cell, String>perKey(new MergeCellsFn()))
;
``` `Cell` 看起来像:
public class Cell {
public final int index;
public final String value;
public Cell(int i, String value) {
index = i;
this.value = value;
}
}
以及 `MergeCellsFn` :
public class MergeCellsFn extends Combine.CombineFn<Cell, MergeCellsFn.Merger, String>
现在,当我试图编译它失败的上面 `apply` 使用:
incompatible types: inference variable OutputT has incompatible bounds
equality constraints: org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.KV<java.lang.String,java.lang.String>>
lower bounds: org.apache.beam.sdk.values.PCollection<java.lang.String>,org.apache.beam.sdk.values.POutput
我能在网上找到的只是某个地方某个lambda可能会隐式地做一些事情。但从错误信息我不知道什么和如何解决这个更不用说是什么问题。
1条答案
按热度按时间wsewodh21#
正在更改为
PCollection<KV<String, String>> lines =
使其可编译。