内容

1. 熟悉使用 HBase 操作常用的 Shell 命令。

2. 学会表和族的属性操作。

3. 学会 Filter 操作。

4. 学会时间戳和数据版本的操作。

5. 学会数据批量导入。

 

操作环境

OS:Ubuntu16.04

Hadoop:v2.7.3

HBase:v1.2.6

 

基本操作命令

1. 启动 shell 界面命令:hbase shell

成功启动 hbase 服务后,输入 hbase shell 命令,按回车即可进入 shell 界面。

怎么进入HBase shell命令行 如何进入hbase shell界面_表名

2. 查看命令帮助文档:help

命令格式 1:help

在 shell 界面里,输入 help 命令,按回车,将显示 shell 的所有命令信息。

怎么进入HBase shell命令行 如何进入hbase shell界面_hbase_02

命令格式 2:help ‘命令’

例如:查看 create 命令的说明,输入 help‘create’

按回车,将显示 create 命令的使用说明。

怎么进入HBase shell命令行 如何进入hbase shell界面_数据_03

3. 退出 shell 界面命令:quit 或 exit

输入 quit 或 exit 按回车,即可退出 shell 界面。

怎么进入HBase shell命令行 如何进入hbase shell界面_数据_04

4. 创建表命令:create

命令格式 1:create ‘表名称’,‘列族 1’,‘列族 2’,......

例如 :创建 表名称 为 student ,列 族 1 为 base_info,列族 2 为 class_info, 列族 3 为other_info 的表。

输入命令:create 'student','base_info','class_info','other_info' 按回车,结果如下:

怎么进入HBase shell命令行 如何进入hbase shell界面_hbase_05

命令格式 2:create '表名称', {NAME => '列族 1'}, {NAME => '列族 2'}, {NAME => '列族 3',......}

例如:创建表名称为 school,列族 1 为 base_info,列族 2 为 teacher_info,列族 3 为 student_info 的表。

输 入 命 令 : create 'school', {NAME => 'base_info'}, {NAME => 'teacher_info'}, {NAME => 'student_info'} 显示结果如下:

怎么进入HBase shell命令行 如何进入hbase shell界面_表名_06

备注:创建表还有很多种命令格式,请查阅帮助文档。

5. 列出所有表的命令:list

怎么进入HBase shell命令行 如何进入hbase shell界面_数据_07

说明:已经存在 5 张表,分别为 mytable,school,student,tb1,tb2 表。

6. 查看表结构信息命令:describe 或 desc

命令格式:describe ‘表名’

例如:查看 student 表结构信息。

输入命令:describe ‘student’,如下图:

怎么进入HBase shell命令行 如何进入hbase shell界面_数据_08

7. 查看表数据命令:scan

命令格式:scan ‘表’

例如:查看 student 的数据。

输入命令:scan ‘student’按回车,显示结果如下:

怎么进入HBase shell命令行 如何进入hbase shell界面_shell 命令_09

结果说明,student 表暂时没有数据。

8. 插入、修改或更新数据命令:put

Hbase 修改或者更新数据实质上也是添加新数据,只是旧版本的数据没有被显示出来或者 已经被清除。

插入数据命令格式:put ‘表名’,‘行值’,‘列族:列名’,‘数据’

例如 1:向表 stduent 中行 1,列族 base_info 加入列 name,添加数据 xiaoming

输入命令: put 'student','1','base'

怎么进入HBase shell命令行 如何进入hbase shell界面_表名_10

查看表是否有数据,输入命令:scan ‘student’,按回车,显示结果如下:

怎么进入HBase shell命令行 如何进入hbase shell界面_shell 命令_11

例如 2:向表 stduent 中行 1,列族 class_info 加入列 grade,添加数据 2018

输入命令: put 'student','1','class_info:grade','2018' 按回车,显示结果如下:

怎么进入HBase shell命令行 如何进入hbase shell界面_shell 命令_12

查看表是否有数据,输入命令:scan ‘student’,按回车,显示结果如下:

怎么进入HBase shell命令行 如何进入hbase shell界面_hbase_13

9. 获取某一行数据命令:get

命令格式 1:get '表名','行'

例如:查看表 stduent 中行 1 的数据

输入命令:get 'student','1' 按回车,显示结果如下:

怎么进入HBase shell命令行 如何进入hbase shell界面_表名_14

命令格式 2:get '表名','行','列族:列'

例如:查看表 stduent 中行 1,列族 base_info 中列 name 的数据

输入命令:get 'student','1' , 'base_info:name' 按回车,显示结果如下:

怎么进入HBase shell命令行 如何进入hbase shell界面_hbase_15

命令格式 3:get '表名','行',{COLUMN=>'列族',VERSIONS=>版本数 n} 获取某一行的某个列族最新的 n 个版本数据。

列如:获取 student 表行 1,列族 class_info 最新 4 个版本的数据

输入命令:get 'student',1,{COLUMN=>'class_info',VERSIONS=>4}

怎么进入HBase shell命令行 如何进入hbase shell界面_怎么进入HBase shell命令行_16

备注:获取表数据还有很多种命令格式,请查阅帮助文档。

10. 删除制定单元格的数据命令:delete

命令格式:delete ‘表’,‘行’,‘列’,时间戳

例如:删除 student 表行 1,列族 base_info 中 name 的数据

输入命令:delete 'student','1','base_info:name',1533174244970

执行命令之前,先后利用 scan 查看表信息,结果如下

怎么进入HBase shell命令行 如何进入hbase shell界面_怎么进入HBase shell命令行_17

11. 统计表中的行数命令:count

命令格式:count ‘表名’

例如:查看 studen 表的行数

输入命令:count ‘student’结果如下

怎么进入HBase shell命令行 如何进入hbase shell界面_数据_18

12. 清空表数据命令:truncate

命令格式:truncate ‘表名’

例如:清空表 tb2 的数据

输入命令:truncate ‘tb2’,命令执行前后用 scan 查看表数据,如下图

怎么进入HBase shell命令行 如何进入hbase shell界面_hbase_19

说明数据已经清空。