Hbase 设置编码器时,数据流使用HBasureSultCoder

Hbase 设置编码器时,数据流使用HBasureSultCoder,hbase,google-cloud-dataflow,encoder,Hbase,Google Cloud Dataflow,Encoder,我有一个数据流作业,它扫描两个大表,然后通过行键连接扫描的结果 我正在尝试将编码器设置为HbaseResultCoder,但我不断收到一个错误,它的类型不正确 PCollection<KV<String, KV<Result, Result>>> rowsJoined = JoinerUtils.leftJoin(oldBtScan, newBtScan) .setCoder(KvCoder.of(StringUtf8Coder.of(), KvCod

我有一个数据流作业,它扫描两个大表,然后通过行键连接扫描的
结果

我正在尝试将编码器设置为HbaseResultCoder,但我不断收到一个错误,它的类型不正确

PCollection<KV<String, KV<Result, Result>>> rowsJoined = JoinerUtils.leftJoin(oldBtScan, newBtScan)
    .setCoder(KvCoder.of(StringUtf8Coder.of(), KvCoder.of(HBaseResultCoder.getInstance(), HBaseResultCoder.getInstance())));
PCollection rowsJoined=JoinerUtils.leftJoin(oldBtScan,newBtScan)
.setCoder(KvCoder.of(StringUtf8Coder.of(),KvCoder.of(HBaseResultCoder.getInstance(),HBaseResultCoder.getInstance()));

错误是
原因:不存在类型变量K的实例,因此HBaseResultCoder符合Coder

我没有找到任何关于JoinerUtils.leftJoin的文档,我认为这可能是错误的原因。为什么不利用数据流升级功能并使用?使用它,您可以读取要在不同的PCollection中组合的大表,然后使用ApacheBeam的letfOuterJoin将它们组合起来。请注意,这两个PCollection都必须采用以下格式

希望此解决方法对您有所帮助