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都必须采用以下格式
希望此解决方法对您有所帮助