查看所有表
list
创建表
1.create 'user1', 'info1','info2' 2.create 'user2', {NAME=>'info1', version=>3}, {NAME=> 'cf2', version=>1} 优点: 可以给列族设置属性
查看表的详情
1.desc 'user1'
增加列族
1.alter 'user1', 'info3' 2. alter 'user1', {NAME=>'info5',version=>4}
删除列族
1.alter 'user1', {NAME => 'info5', METHOD => 'delete'} 2.alter 'user1', 'delete'=>'info4'
查看表是否存在
exists 'table_name'
启用禁用表
disable 'table_name' 禁用表 enable 'table_name' 启用表 is_disabled 'table_name' 是否禁用表 is_ensabled 'table_name' 是否使用中的表
删除表
drop 'table_name' 删表之前先要禁用表
put插入数据
1. put 'user1', 'row1', 'info1:name','xiaoke' 2.put 'user1', 'row1', 'info1:age', '18',1482077777777 时间戳是可以自己指定的,默认HBase自己生成
get获取数据
1.get 'user1', 'row1' info1:age timestamp=1482077777777, value=18 info1:name timestamp=1625616135416, value=xiaoke 2.get 'user1','row1', 'info1:name' info1:name timestamp=1625616135416, value=xiaoke 3.get 'user1','row1', {COLUMNS=>'info1:name', VERSIONS=>1} info1:name timestamp=1625616135416, value=xiaoke
scan查看表
1.scan 'user1' row1 column=info1:age, timestamp=1482077777777, value=18 row1 column=info1:name, timestamp=1625616135416, value=xiaoke 2.hbase(main):066:0> scan 'user1', {COLUMNS=> 'info1:name'} ROW COLUMN+CELL row1 column=info1:name, timestamp=1625616135416, value=xiaoke 3.scan 'user1', {COLUMNS=> 'info1:name', VERSIONS => 1} ROW COLUMN+CELL row1 column=info1:name, timestamp=1625616135416, value=xiaoke 4.scan 'user1', {COLUMNS=> 'info1:name', VERSIONS => 1, TIMESTAMP=>1625616135416} ROW COLUMN+CELL row1 column=info1:name, timestamp=1625616135416, value=xiaoke 5.scan 'user1', {COLUMNS => ['info2', 'info1'], FILTER => "(QualifierFilter(=, 'substring:a'))"} 待定 ROW COLUMN+CELL row1 column=info1:age, timestamp=1482077777777, value=18 row1 column=info1:name, timestamp=1625616135416, value=xiaoke row1 column=info2:name, timestamp=1625617156778, value=xiaoke
delete删除数据
1. delete 'user', 'row1', 'info:name' 删除user表row key为'row1', 列标识符为'info:name'的数据 2. delete 'user', 'row2', 'info:name', 1392399339922 删除user表row key 为'row2', 列标识符为'info:name', timestamp为1392399339922的数据
清空表数据
truncate 'tableName'
过滤器
get 'person', 'row1', {FILTER => "ValueFilter(=, 'binary:中国')"} get 'person', 'row1', {FILTER => "(QualifierFilter(=, 'substring:a'))"} scan 'person', {COLUMNS => 'info:name'} scan 'person', {COLUMNS => ['info', 'data'], FILTER => "(QualifierFilter(=, 'substring:a'))"} scan 'person', {COLUMNS => 'info', STARTROW => '20130201', ENDROW => '20140202'} scan 'person', {COLUMNS => 'info:name', TIMERANGE => [1395978233636, 1395987769587]} alter 'person', NAME => 'xiaoke' alter 'person', NAME => 'xiaoke', VERSIONS => 10 get 'user', 'row1', {COLUMNS => ['info:name', 'data:pic']}
get和scan查看表中数据的区别
1. get指定rowkey获取数据 2. scan指定条件获取一批数据