irpas技术客

Hbase 常用 shell 操作:增删改查(create、put、delete、scan)_孙若堃_hbase put命令

大大的周 6019

Hbase 常用 shell 操作:create、put、delete、scan 清空hbase表:创建hbase表:描述hbase表:添加一行数据:删除记录:1、删除某个 rowkey 对应列族的所有数据2、删除某个 rowkey 某个列族的某列数据3、删除某个 rowkey 的所有数据,即整行数据都被删除 查看hbase表数据:查看表中的记录总数:删除一张表:查看记录查看所有记录查看部分数据:查看某表个某个列中的所有数据:检索特定字符 rowkey 的正则匹配:

清空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:[特定字符]')"}


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #HBase #put命令 #常用 #Shell