【实验目的】
1)学会向表中添加记录
2)学会添加记录时动态添加列
3)学会查看一条记录
4)学会查看表中的记录总数
5)学会删除记录
【实验原理】
Hbase shell作为Hbase数据的客户端,可以连接hbase,通过命令行方式和hbase进行交互。
Hbase shell是一个封装了Java客户端API的JRuby应用软件。
在终端中执行hbase shell命令启动Shell,即可操作hbase。
Shell可以支持命令自动补全和命令文档内联访问。
【实验环境】
本次环境是:centos6.5+jdk1.7.0_79+hbase0.96+hbase shell
host01是计算机名称对应ip地址为 192.168.1.2,可以在/etc/hosts文件中查看映射关系
【实验步骤】
一 、项目准备阶段
1.1 通过命令start-all.sh启动hadoop,启动hbase。进入$HBASE/bin/目录,执行命令./start-hbase.sh。如图1所示
图1
1.2 启动shell模式。进入$HBASE/bin目录,执行./hbase shell命令。如图2所示
图2
1.3 创建测试表。在命令行中输入create 'people', {NAME =>'info', VERSIONS=>3}, {NAME=>'data', VERSIONS=>1}创建people表。如图3所示
图3
二、向表中添加记录
2.1 查看插入操作帮助。在命令行中执行help 'put',可以查看相关帮助文档。如图4所示
图4
2.2 向第一个列族的第一个列插入一条记录。
说明:
插入一行数据到列族info的列name中。在命令行中执行put 'people',
'rk0001', 'info:name', 'MaYun'。其中,rk0001为行健值,MaYun
为列族info中字段name的值。如图5所示
图5
2.3 向第一个列族的第二个列插入一条记录。
说明:
插入一行数据到列族info的列gender中。在命令行中执行put 'people'
,'rk0001', 'info:gender', 'male'。其中,rk0001为行健值,male为列
族info中字段gender的值。插入该记录之后,列族info下面将会含有两
个列name和gender。如图6所示
图6
2.4 向第二个列族的第一个列插入一条记录。
说明:
插入一行数据到列族data的列myurl中。在命令行中执行put 'people'
, 'rk0001', 'data:myurl', 'www.yun.alibaba.com/myURL'。其中,
rk0001为行健值,www.yun.alibaba.com/myURL为列族data中字
段myurl的值。如图7所示
图7
2.5 插入第二行数据。
说明:
Hbase中用rowkey来判断数据属于哪一行,上面数据的rowkey为
rk0001,下面将用rk0002做为rowkey来插入第二列数据。插入一
行数据到列族info的列name中。在命令行中执行put 'people' ,
'rk0002', 'info:name', 'LiuChangle'。其中,rk0002为行健值,
LiuChangle为列族info中字段name的值。如图8所示
图8
三、查看表中一条记录
3.1 已知rowkey值为rk0001,执行语句get ‘people’, ‘rk0001’,查询该rowkey对应的一条记录。如图9所示
图9
四、查看表中的记录总数
4.1 查询表people中的记录总数。执行语句count ‘people’返回记录数。如图10所示
图10
五、删除表中的记录
5.1 删除数据之前,首先插入测试数据。如图11所示
测试数据如下:
put 'people' , 'rk0003', 'info:name', 'MaYun2'
put 'people' , 'rk0003', 'info:gender', 'male'
put 'people' , 'rk0003', 'data:myurl', 'www.y
un.alibaba.com/myURL2'
图11
5.2 查询上面插入的数据。执行命令get 'people', 'rk0003'。如图12所示
图12
5.3 删除rowkey为rk0003的值的记录。执行命令deleteall 'people','rk0003'。如图13
图13
执行命令get 'people', 'rk0003'查看结果,发现记录数为0,说明删除成功。如图14
图14