如何结合使用CombineFn和getKey

问题描述

我有以下代码:

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可能在某处隐式地做某事。但是从错误消息中我不知道该如何解决此问题,更不用说是什么问题了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)