Hbase 常用 shell 操作:create、put、delete、scan
清空hbase表:
1、表分区也清除掉,需重新建表:
truncate 'hbase表名'
2、表分区不变,只清空表数据,不需要重新建表:
truncate_preserve 'hbase表名'
创建hbase表:
create ‘hbase表名’ ,‘列族名1’,‘列族名2’,'列族名N’
create 'hbase_tmp',{NAME=>'cf1'},{NAME=>'cf2'}
描述hbase表:
describe 'hbase表名'
添加一行数据:
put ‘hbase表名’,‘rowkey’,‘列族:列名’,'值’
hbase表是列存储,所以不能跟mysql表一次插入一行数据,只能按列一个一个插入,比如:
put 'hbase_tmp','001','cf:name','tom'
put 'hbase_tmp','001','cf1:gender','tom'
put 'hbase_tmp','001','cf2:chinese','90'
put 'hbase_tmp','001','cf2:math','91'
ps:如果在添加数据的时候,需要手动的设置时间戳,则在put命令的最后加上相应的时间戳,时间戳是long类型的,所以不需要加引号。
put 'hbase_tmp','001', ‘cf:math', '91', 时间戳
删除记录:
1、删除某个 rowkey 对应列族的所有数据
delete 'hbase表名','rowkey','列族'
执行 delete ‘hbase_tmp’, ‘001’, ‘cf2’ 后,该行就只有 gender 列有数据。
因为 chinese math 这两列都是属于列族:cf2 的。
2、删除某个 rowkey 某个列族的某列数据
delete ‘hbase表名’, ‘rowkey’, '列族:列名’
执行 delete ‘hbase_tmp’, ‘001’, ‘cf2:chinese’ 后,即删除了列族 cf2 中的列:chinese 的数据
3、删除某个 rowkey 的所有数据,即整行数据都被删除
delete ‘hbase表名’, 'rowkey’
delete 'hbase_tmp','001'
查看hbase表数据:
get ‘hbase表名’,'rowkey’
比如上边的表 rowkey 是 001 ,想查看 tom 的数据:
get 'hbase_tmp','001'
查看表中的记录总数:
count 'hbase表名’
删除一张表:
先要屏蔽该 hbase 表,才能对该 hbase 表进行删除
1、diable ‘hbase表名’
2、drop ‘hbase表名’
查看记录
查看所有记录
scan 'hbase表名'
查看部分数据:
scan 'hbase_tmp',{LIMIT=>10}
查看某表个某个列中的所有数据:
scan 'hbase表名',{COLUMNS=>'列族:列名'}
检索特定字符 rowkey 的正则匹配:
scan 'hbase表名',{FILTER =>"RowFilter(=,'regexstring:[特定字符]')"}
版权归原作者 孙若堃 所有, 如有侵权,请联系我们删除。