HBASE SHELL
1、创建namespace
create_namespace 'recmd'
create_namespace 'ns1', {'PROPERTY_NAME'=>'PROPERTY_VALUE'}
2、表创建和删除
2.1 不带分区的表
create 'recmd:recall', {NAME => 'f1', VERSIONS =>5}
2.2 带分区的表
create 'recmd:test', {NAME => 'f1', VERSIONS=> 5},{SPLITS => ["001_", "002_", "003_", "004_", "005_", "006_", "007_", "008_", "009_", "010_"]}
2.3 查看表是否已经存在
exists 'recmd:test'
2.4 删除表
先禁用,然后删除
disable 'recmd:test'
drop 'recmd:test'
2.5 查看表的属性
desc "recmd:recall"
2.6 查看所有表
list是用来获取所有HBase表的列表
list
3. 修改表
3.1 添加列族
alter 'test_ns:user',NAME=>'contact'
3.2 删除列族
alter 'test_ns:user', NAME => 'test1', METHOD => 'delete'
4、查看数据
4.1、scan 全表遍历
scan "recmd:test", {COLUMNS=>"f1:cat"}
4.2、同时指定行数
scan 'recmd:test',{LIMIT =>10}
4.3、count 统计行数
count "recmd:test"
5、清空表数据
truncate会把表分区也清除掉
truncate_preserve只清除数据
truncate_preserve "recmd:test"
6、根据rowkey查询
例如:查询表recmd:test,rowkey001中的f1下的col1的值。如果不带"f1:col1",即查看该rowkey所有的列族的值
get 'recmd:test','rowkey001', 'f1:col1'
7、插入一条数据
等同于更新一条记录
put <table name>,row1,<colfamily:colname>,<value>
put 'test:table2','2021-12-10','f1:word','rem'
8、删除一条记录
使用 delete 命令,可以在一个表中删除特定单元格
delete <table name>, <row>, <column name >, <time stamp>
delete 'emp', '1', 'personal data:city'
使用deleteall命令,可以删除一行中所有单元格
deleteall 'tableName','rowkey'
9、查看hbase 版本
version