如何使用combinefn和getkey

8ftvxx2r  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(243)

我有以下代码:

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可能会隐式地做一些事情。但从错误信息我不知道什么和如何解决这个更不用说是什么问题。
wsewodh2

wsewodh21#

正在更改为 PCollection<KV<String, String>> lines = 使其可编译。

相关问题