内容
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 界面。
2. 查看命令帮助文档:help
命令格式 1:help
在 shell 界面里,输入 help 命令,按回车,将显示 shell 的所有命令信息。
命令格式 2:help ‘命令’
例如:查看 create 命令的说明,输入 help‘create’
按回车,将显示 create 命令的使用说明。
3. 退出 shell 界面命令:quit 或 exit
输入 quit 或 exit 按回车,即可退出 shell 界面。
4. 创建表命令:create
命令格式 1:create ‘表名称’,‘列族 1’,‘列族 2’,......
例如 :创建 表名称 为 student ,列 族 1 为 base_info,列族 2 为 class_info, 列族 3 为other_info 的表。
输入命令:create 'student','base_info','class_info','other_info' 按回车,结果如下:
命令格式 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'} 显示结果如下:
备注:创建表还有很多种命令格式,请查阅帮助文档。
5. 列出所有表的命令:list
说明:已经存在 5 张表,分别为 mytable,school,student,tb1,tb2 表。
6. 查看表结构信息命令:describe 或 desc
命令格式:describe ‘表名’
例如:查看 student 表结构信息。
输入命令:describe ‘student’,如下图:
7. 查看表数据命令:scan
命令格式:scan ‘表’
例如:查看 student 的数据。
输入命令:scan ‘student’按回车,显示结果如下:
结果说明,student 表暂时没有数据。
8. 插入、修改或更新数据命令:put
Hbase 修改或者更新数据实质上也是添加新数据,只是旧版本的数据没有被显示出来或者 已经被清除。
插入数据命令格式:put ‘表名’,‘行值’,‘列族:列名’,‘数据’
例如 1:向表 stduent 中行 1,列族 base_info 加入列 name,添加数据 xiaoming
输入命令: put 'student','1','base'
查看表是否有数据,输入命令:scan ‘student’,按回车,显示结果如下:
例如 2:向表 stduent 中行 1,列族 class_info 加入列 grade,添加数据 2018
输入命令: put 'student','1','class_info:grade','2018' 按回车,显示结果如下:
查看表是否有数据,输入命令:scan ‘student’,按回车,显示结果如下:
9. 获取某一行数据命令:get
命令格式 1:get '表名','行'
例如:查看表 stduent 中行 1 的数据
输入命令:get 'student','1' 按回车,显示结果如下:
命令格式 2:get '表名','行','列族:列'
例如:查看表 stduent 中行 1,列族 base_info 中列 name 的数据
输入命令:get 'student','1' , 'base_info:name' 按回车,显示结果如下:
命令格式 3:get '表名','行',{COLUMN=>'列族',VERSIONS=>版本数 n} 获取某一行的某个列族最新的 n 个版本数据。
列如:获取 student 表行 1,列族 class_info 最新 4 个版本的数据
输入命令:get 'student',1,{COLUMN=>'class_info',VERSIONS=>4}
备注:获取表数据还有很多种命令格式,请查阅帮助文档。
10. 删除制定单元格的数据命令:delete
命令格式:delete ‘表’,‘行’,‘列’,时间戳
例如:删除 student 表行 1,列族 base_info 中 name 的数据
输入命令:delete 'student','1','base_info:name',1533174244970
执行命令之前,先后利用 scan 查看表信息,结果如下
11. 统计表中的行数命令:count
命令格式:count ‘表名’
例如:查看 studen 表的行数
输入命令:count ‘student’结果如下
12. 清空表数据命令:truncate
命令格式:truncate ‘表名’
例如:清空表 tb2 的数据
输入命令:truncate ‘tb2’,命令执行前后用 scan 查看表数据,如下图
说明数据已经清空。