使用压缩和编码在Hbase中批量加载

时间:2014-12-14 11:39:40

标签: hadoop compression hbase bulk-load

我正在尝试将一些网络数据批量加载到Hbase表中。我的映射器发出ImmutableBytesWritable,KeyValue对。我声明了一个预拆分表,其中列族压缩设置为SNAPPY,数据块编码设置为PREFIX_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可能不支持压缩/编码,但是当它们被禁用时我会得到同样的错误。有什么想法正在发生什么?

0 个答案:

没有答案