微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

实验4·使用HBase Shell完成《王者荣耀》玩家信息管理

实验4·使用HBase Shell完成《王者荣耀》玩家信息管理

1 实验目的

  1. 回顾HBase的基础理论知识;
  2. 熟悉HBase的基础操作;
  3. 熟悉HBase Shell中常用的DDL(Data DeFinition Language)和DML(Data Manipulation Language)命令。

2 实验平台

操作系统:Linux
Hadoop版本:2.7.1或以上版本
JDK版本:1.6或以上版本
Java IDE:Eclipse
HBase版本:HBase1.1.5

3 实验内容和要求

一、Hbase的基础操作回顾:

(1)单机模式运行Hbase;

(2)伪分布模式运行Hbase;

二、使用HBase Shell完成《王者荣耀》(或者任何你喜欢的游戏)玩家信息管理

(3)启动Hbase,进入到Hbase的shell界面,并在shell界面查看Hbase已经有了哪些表;

  • 启动Hbase之前先启动Hadoop

    在这里插入图片描述

  • 再启动Hbase进入到shell界面,查看已有的表

    在这里插入图片描述

(4)在Hbase中新创建一张表, 以你喜欢的游戏命名;注意请精心设计你所创建的表,比如:

在这里插入图片描述

在这里插入图片描述

(5)创建完成之后,查看新创建的表的详细信息;

在这里插入图片描述


(6)表的详细信息中,各列族的具体信息如下:

在这里插入图片描述


选择不少于3个条目进行解释,如;

列族描述中的各条目功能描述
NAME列族名
BLOOMFILTER按照行提高随机读的性能
VERSIONS指此单元格内的数据可以保留最近的版本数
BLOCKCACHE读取数据时是否进行缓存

(7)修改表的某个列族的某个具体信息:可用alter命令修改表的列族信息,即为表增加列族,或者修改列族(当该列族已经存在时),语法为;

alter '表名',{NAME=>'列族名',参数名=>'参数值'}

改动完成之后,查看改动是否成功

在这里插入图片描述


(8)尝试用同样的alter命令为此表增加一个新的列族;

在这里插入图片描述


(9)将创建的表删除:要在Hbase中删除一个表,首先需要禁用它。因此,尝试禁用你所创建的表,以及禁用之后如何又重新启用它,并且每一步都需要验证操作是否成功(即禁用之后,验证是否禁用成功,等等),然后将此表删除,并查看是否删除成功:

在这里插入图片描述


由于’GloryofKing’已经被我删除,无法验证是否禁用成功。只好用剩下的‘teacher’表来验证

在这里插入图片描述

在这里插入图片描述


三、熟悉Hbase的DML操作,DML主要是针对表中数据本身的操作

(10)重新创建刚才的《王者荣耀》玩家信息表(或者你所创建的随便其他的什么表);

在这里插入图片描述


(11)用 put 命令往表中添加数据,语法为:

put 'table' , 'rowkey".'family:column', 'value',timestamp'  

下图为部分截图:
个人信息

在这里插入图片描述


资产信息

在这里插入图片描述


战绩信息

在这里插入图片描述


常用英雄

在这里插入图片描述

重要要求:
请自行设计自由发挥,列族数不得少于4个!每个列族中的列不得少于4个,特殊情况(如个人信息只有账户和昵称)除外,数据条目,即行键不得少于5条。

(12)数据添加完成之后,使用scan 命令验证其是否添加成功

在这里插入图片描述


(13)Hbase表中的数据全部添加完成之后,来对其中的数据做查询操作,首先,用scan命令查询一个列族的数据,语法为:

scan 'table,{COLUMNS => 'family'}

如要查询personallnfo个人信息:

在这里插入图片描述

(14)查看指定的某个列族的某个列,语法为::

scan 'table',{COLUMNS =>['family:column']}  

如要查询personallnfo下的userID:

在这里插入图片描述


(15)scan命令查找的目标是全表的某个列族或者某个列,而另外的一个查找命令 get ,则是查找的某行的某个列族或者列,因此,其多了一个行键参数,语法为:

1.get 'table ,'row-key'  
2.get 'table' , 'row-key',{COLUMN=>'family:column'}  
  • 使用get命令,查询表中任意一个列族的全部信息;

    在这里插入图片描述

  • 使用get命令,查询表中任意一个列族的任意一列的信息;

    在这里插入图片描述

  • 使用get命令,指定表中的多个列族,进行查询

    在这里插入图片描述

  • 使用get命令,不指定表中的列族,对某一行键的全部信息进行查询

    在这里插入图片描述

(16)使用 delete 命令,删除Hbase中的某一个单元,语法为:

在这里插入图片描述


删除完成之后,使用get命令查看验证是否成功;

在这里插入图片描述


(17)使用 deleteall 命令,删除Hbase中的某一行键的所有数据,

在这里插入图片描述


删除完成之后,同样使用get命令查看是否成功;

在这里插入图片描述


(18)使用 truncate 命令,清空Hbase中的某一个表的所有数据,
清空完成之后,查看是否成功

在这里插入图片描述


清空完成之后,查看是否成功

在这里插入图片描述


(19)将空表删除,自此实验4全部完成

在这里插入图片描述


HBASE样表:

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐