我正在尝试将一些网络数据批量加载到hbase表中。我的Map器发出不可变的BytesWritable键值对。当列族的压缩设置为snappy,数据块编码设置为prefix\u tree时,我声明一个预拆分的表( hcd.setCompressionType(Algorithm.SNAPPY);
以及 hcd.setDataBlockEncoding(DataBlockEncoding.PREFIX_TREE);
).
随后,我使用hfileoutputformat2.configureincrementalload(job,table),它应该为我生成hfiles。但是,我遇到了以下错误。 14/12/14 12:23:04 INFO mapreduce.Job: map 100% reduce 80% 14/12/14 12:23:06 INFO mapreduce.Job: Task Id : attempt_1416932815472_0065_r_000001_0, Status : FAILED Error: org.apache.hadoop.hbase.io.encoding.HFileBlockDefaultEncodingContext.<init>(Lorg/apache/hadoop/hbase/io/compress/Compression$Algorithm;Lorg/apache/hadoop/hbase/io/encoding/DataBlockEncoding;[B)V
我没有正确配置压缩吗?我怀疑hfileoutputformat2可能不支持压缩/编码,但当它们被禁用时,我得到了相同的错误。知道怎么回事吗?
暂无答案!
目前还没有任何答案,快来回答吧!