HBase shell命令

基础操作

#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命令)