banner.webp

1.HBase Shell常用命令

  1. HBase为用户提供了一个非常方便的使用方式,我们称之为HBase ShellHBase Shell提供了大多数的HBase命令,通过HBase Shell,用户可以方便地创建、删除以及修改表,还可以向表中添加数据、列出表中的相关信息等。
  2. 常见的HBase Shell命令如下:
名称 命令表达式
创建表 create ‘表名称’,’列族名称1’,’列族名称2’,’列族名称N’
添加记录 put ‘表名称’,’行键’,’列名称:’,’值’
查看记录 get ‘表名称’,’行键’
查看表中的记录总数 count ‘表名称’
删除记录 delete ‘表名’,’行键’,’列名称’
删除一张表 先要屏蔽该表,才能对该表进行删除,第一步disable ‘表名称’,第二步drop ‘表名称’
查看所有记录 scan ‘表名称’
查看某个表某个列中的所有数据 scan ‘表名称’,{COLUMNS=>’列族名称:列名称’}
更新记录 重写一遍进行覆盖

2.举个栗子

1.webp
我们利用命令创建这样一张表格
2.png
老规矩,先启动Hadoop与HBase,然后启动HBase Shell

(1)create命令

创建一个具有3个列族(name、grad和cource)的表scores,命令如下:

  1. create 'scores','name','grad','course'

3.png

(2)list命令

查看当前HBase中有哪些表

  1. list

4.png

(3)describe命令

查看表scores的构造,也可以简写成desc

  1. describe 'scores'
  2. desc 'scores'

5.png

(4)put命令

使用put命令向表中插入数据,参数分别为表名、行名、列名和值,其中列名需要列族作前缀,时间戳由系统自动生成。

例子:加入一行数据,行键称为“xiaopi”,列族“grad”的列名为“(空字符串)”,值为1

  1. put 'scores','xiaopi','grad:','1'
  2. put 'scores','xiaopi','grad:','2'

6.png
修改操作,给“xiaopi”这一行的数据的列族“course”添加一列

  1. put 'scores','xiaopi','course:Chinese','97'
  2. put 'scores','xiaopi','course:Math','128'
  3. put 'scores','xiaopi','course:English','85'

(5)get命令

查看表scores中的行键xiaopi的数据

  1. get 'scores','xiaopi'

查看表scores中行键xiaopi列course:Math的值

  1. get 'scores','xiaopi','course:Math'
  2. get 'scores','xiaopi',{COLUMN=>'course:Math'}
  3. get 'scores','xiaopi',{COLUMNS=>'course:Math'}

7.png

(6)scan命令

查看表scores中的所有数据

  1. scan 'scores'
  2. scan 'scores',{COLUMN=>'grad'}
  3. scan 'scores',{COLUMN=>'course:Math'}
  4. scan 'scores',{COLUMNS=>'course'}
  5. scan 'scores',{COLUMNS=>'course:Math'}

8.png

(7)count命令

统计记录条数

  1. count 'scores'

9.png

(8)exists命令

判断表是否存在

  1. exists 'scores'

10.png

(9)修改表结构
  1. alter 'scores',NAME=>'course',VERSIONS=>3
  2. enable 'scores'

HBase默认值报错一份历史副本,以上命令可以将HBase的scores表course列族改为保存3份历史副本
11.png

(10)delete命令

删除表scores中行键为xiaopi,列族course中的Math

  1. delete 'scores','xiaopi','course:Math'
  2. # 查看数据
  3. scan 'scores'

如果有多条记录一次删除,使用delete all

  1. delete all 'scores'

12.png

(11)truncate命令

清空数据但保留表结构

  1. truncate 'scores'
  2. # 查看数据
  3. scan 'scores'

13.png

(12)disable、drop命令

通过这两个命令删除scores表,要彻底删除表数据与表结构,必须先disable,再drop

  1. disable 'scores'
  2. drop 'scores'
  3. # 查看数据
  4. scan 'scores'

13.png

(13)status命令

查看HBase的运行状态

  1. status

14.png

(14)version命令

查看HBase版本

  1. version

15.png

基本的HBase Shell命令差不多都涉及到了,详细的其他命令可以参照官网案例~