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','cf1:gender','cf2:chinese','90'
put 'hbase_tmp','cf2:math','91'

在这里插入图片描述


ps:如果在添加数据的时候,需要手动的设置时间戳,则在put命令的最后加上相应的时间戳,时间戳是long类型的,所以不需要加引号。

put 'hbase_tmp' , ‘cf:math','91', 时间戳

删除记录:

1、删除某个 rowkey 对应列族的所有数据

delete 'hbase表名', 'rowkey', '列族'

在这里插入图片描述

执行 delete ‘hbase_tmp’,‘001’,‘cf2’ 后,该行就只有 gender 列有数据。
因为 chinese math 这两列都是属于列族:cf2 的。

在这里插入图片描述

2、删除某个 rowkey 某个列族的某列数据

delete ‘hbase表名’,'列族:列名’

在这里插入图片描述


执行 delete ‘hbase_tmp’,‘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:[特定字符]')"}

相关文章

文章浏览阅读301次。你可以使用Thrift客户端来测试HBase Thr...
文章浏览阅读565次。hive和hbase数据迁移_hive转hbase
文章浏览阅读707次。基于单机版安装HBase,前置条件为Hadoop...
文章浏览阅读301次。linux集群搭建-HBase_linux中在/home目录...
文章浏览阅读933次。中没有库的概念,说一个数据说的是哪一个...
文章浏览阅读1k次,点赞16次,收藏21次。整理和梳理日常hbas...