免费注册
帮助文档(华北一、二)

  • 托管Hadoop集群中HBase已经默认配置支持LZO压缩,只需修改表COMPRESSION属性即可。

    2.1 创建LZO表

     

    hbase(main):001:0> create 'test-lzo', {NAME=>'cf', COMPRESSION=>'lzo'}

    0 row(s) in 4.5140 seconds

    => Hbase::Table - test-lzo

    hbase(main):002:0> desc 'test-lzo'

    Table test-lzo is ENABLED

    test-lzo

    COLUMN FAMILIES DESCRIPTION

    {NAME => 'cf', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', 

    REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'LZO', 

    MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELE

    TED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}

    1 row(s) in 0.1470 seconds

    2.2 为已存在的表增加COMPRESSION=LZO属性

    ● 假设您已创建test-nolzo表,如没有,可通过下面的语句创建

     create 'test-nolzo', {NAME=>'cf'}

    ● 增加COMPRESSION属性需要先distable表,再修改COMPRESSION属性为LZO,最后enable表。

     

    hbase(main):002:0> disable 'test-nolzo'

    0 row(s) in 2.4030 seconds

    hbase(main):003:0> alter 'test-nolzo',NAME => 'cf', COMPRESSION => 'LZO'

    Updating all regions with the new schema...

    1/1 regions updated.

    Done.

    0 row(s) in 1.9730 seconds

    hbase(main):004:0> enable 'test-nolzo'

    0 row(s) in 1.2140 seconds

    ● 修改COMPRESSION后并不会压缩原有数据,可通过执行以下命令强制执行

     

    hbase(main):005:0> major_compact 'test-nolzo'

    0 row(s) in 0.5060 seconds

    注解:

    数据量大的表此操作需等待较久时间。


文档是否已解决您的问题?

  已解决   未解决

如您有其它疑问,您也可以与我们技术专家联系探讨。

联系技术专家