美文网首页
HBase shell命令

HBase shell命令

作者: 望山不是山 | 来源:发表于2021-07-01 20:18 被阅读0次

    基础操作

    #create table
    create 'tableName',{NAME=>'f'}
    #scan a table
    scan 'my_test',{COLUMNS => ['f1:a1','f1:b1']}
    #get line data by rowkey
    get 'tablename','rowkey'
    #delete table
    disable 'tableName'
    drop 'tableName'
    

    预分区

    UniformSplit

    占用空间小,rowkey前缀完全随机。将可能的键的空间平均分割的聚合体。当键是近似一致的随机字节时(例如散列),建议使用这个。行是范围为 00 => FF 的原始字节值,用0右填充以保持相同的 memcmp()顺序。对于
    byte[]环境来说,这是一种自然的算法,可以节省空间,但是对于可读性来说,它并不一定是最简单的。

    HexStringSplit

    占用空间大,rowkey是十六进制的字符串作为前缀的。HexStringSplit 是一个典型的 RegionSplitter.SplitAlgorithm来选择 region 边界。HexStringSplit region 边界的格式是MD5校验和或任何其他均匀分布的十六进制值的ASCII表示形式。Row是十六进制编码的长值,其范围为“00000000”=>“FFFFFFFF”,并左填充0,以使其在字典上保持与二进制相同的顺序。由于这种分割算法使用十六进制字符串作为键,所以在 shell 中方便读写,但是占用更多的空间,而且可能不够直观。

    DecimalStringSplit

    rowkey是10进制数字字符串作为前缀的

    # 基于随机算法创建一个有4默认个分区的表
    hbase>create 't2','f1', { NUMREGIONS => 4 , SPLITALGO => 'UniformSplit' }
     
    # 基于 hex keys 创建一个有5个默认分区的表
    hbase>create 'table_name','f1', { NUMREGIONS => 500, SPLITALGO => 'HexStringSplit' }
    

    相关文章

      网友评论

          本文标题:HBase shell命令

          本文链接:https://www.haomeiwen.com/subject/yyqsultx.html