我正在试验Hadoop / HBase上的压缩,并希望在HBase中添加我自己的压缩例程进行块压缩。我看到HBase支持开箱即用的以下类型的压缩:
create 'mytable', {NAME=>'colfam:', COMPRESSION=>'gz'}
其中' gz'可以用&#l; lzo&替换(liv-zempel),' snappy'或者' none'。
我的问题是,是否可以编写自己的压缩例程/编解码器并将其用于列系列?类似的东西:
create 'mytable', {NAME=>'colfam:', COMPRESSION=>'myCompressionRoutine'}
做这样的事需要什么?
我还注意到一些Java文档中有一条奇怪的评论。在此处找到以下评论:https://hbase.apache.org/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html
"压缩算法。这些序数不能改变,否则你可能会破坏所有现有的HFiles。即使是没有压缩的! (他们使用NONE算法)"