实验3_熟悉常用的HBase操作

一、实验目的

  1. 理解HBase在Hadoop体系结构中的角色;
  2. 熟练使用HBase操作常用的Shell命令;
  3. 熟悉HBase操作常用的Java API。

二、实验平台

  • 操作系统:
  • Hadoop版本:3.2.2
  • HBase版本:2.2.2
  • JDK版本:1.8
  • Java IDE:eclipse

三、实验内容和要求

  1. 使用HBase Shell命令完成下列任务:
  • 列出HBase所有的表的相关信息,例如表名;
list

请添加图片描述

  • 在终端打印出指定的表的所有记录数据;
scan 'Student'

请添加图片描述

  • 向已经创建好的表添加和删除指定的列族或列;
  1. 添加
put 'Student','s000','S_Name','Huangkaiyu'

请添加图片描述

  1. 删除
delete 'Student','s000','S_Name'

请添加图片描述

  • 清空指定的表的所有记录数据;
truncate 'Student'
  • 统计表的行数。
count 'Student'

请添加图片描述

2.现有以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据:
学生表(Student)

学号(S_No) 姓名(S_Name) 性别(S_Sex) 年龄(S_Age)
2015001 Zhangsan male 23
2015002 Mary female 22
2015003 Lisi male 24

create 'Student','S_No','S_Name','S_Sex','S_Age'
put 'Student','s001','S_No','2015001'
put 'Student','s001','S_Name','Zhangsan'
put 'Student','s001','S_Sex','male'
put 'Student','s001','S_Age','23'
put 'Student','s002','S_No','2015002'
put 'Student','s002','S_Name','Mary'
put 'Student','s002','S_Sex','female'
put 'Student','s002','S_Age','22'
put 'Student','s003','S_No','2015003'
put 'Student','s003','S_Name','Lisi'
put 'Student','s003','S_Sex','male'
put 'Student','s003','S_Age','24'

课程表(Course)

课程号(C_No) 课程名(C_Name) 学分(C_Credit)
123001 Math 2.0
123002 Computer Science 5.0
123003 English 3.0

create 'Course','C_No','C_Name','C_Credit'
put 'Course','c001','C_No','123001'
put 'Course','c001','C_Name','Math'
put 'Course','c001','C_Credit','2.0'
put 'Course','c002','C_No','123002'
put 'Course','c002','C_Name','Computer'
put 'Course','c002','C_Credit','5.0'
put 'Course','c003','C_No','123003'
put 'Course','c003','C_Name','English'
put 'Course','c003','C_Credit','3.0'


选课表(SC)

学号(SC_No) 课程号(SC_Cno) 成绩(SC_Score)
2015001 123001 86
2015001 123003 69
2015002 123002 77
2015002 123003 99
2015003 123001 98
2015003 123002 95

put 'SC','sc001','SC_Sno','2015001'
put 'SC','sc001','SC_Cno','123001'
put 'SC','sc001','SC_Score','86'
put 'SC','sc002','SC_Sno','2015001'
put 'SC','sc002','SC_Cno','123003'
put 'SC','sc002','SC_Score','69'
put 'SC','sc003','SC_Sno','2015002'
put 'SC','sc003','SC_Cno','123002'
put 'SC','sc003','SC_Score','77'
put 'SC','sc004','SC_Sno','2015002'
put 'SC','sc004','SC_Cno','123003'
put 'SC','sc004','SC_Score','99'
put 'SC','sc005','SC_Sno','2015003'
put 'SC','sc005','SC_Cno','123001'
put 'SC','sc005','SC_Score','98'
put 'SC','sc006','SC_Sno','2015003'
put 'SC','sc006','SC_Cno','123002'
put 'SC','sc006','SC_Score','95'


同时,请编程完成以下指定功能:

  • createTable(String tableName, String[] fields): 创建表,参数tableName为表的名称,字符串数组fields为存储记录各个域名称的数组。要求当HBase已经存在名为tableName的表的时候,先删除原有的表,然后再创建新的表。
    请添加图片描述
    建立person表,代码如下:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop
实验三是熟悉常用hbase操作HBase个高可靠性、高性能、分布式的开源NoSQL数据库,它基于Hadoop分布式文件系统HDFS运行,并利用Hadoop的容错性和高可用性。 在这个实验中,我们需要掌握常用HBase操作,如创建表、插入数据、查询数据等。具体步骤如下: 首先,我们需要创建HBase表。可以使用create命令,在语句中指定表名和列族。列族是HBase中最小的存储单元,所有的数据都存储在列族中。 接下来,我们可以使用put命令向表中插入数据。插入数据需要指定表名、行键和列族及其对应的列名和值。行键是表中每行的唯标识,可以用来快速定位数据。 查询数据是HBase个重要功能。我们可以使用get命令查询指定行的数据,也可以使用scan命令扫描表中的所有行。查询时需要指定表名、行键和列族及其对应的列名。 除了查询数据,HBase还支持删除数据和删除表。删除数据可以使用delete命令,指定表名、行键和列族及其对应的列名。删除表可以使用disable和drop命令,先禁用表再删除表。 在实验中,我们还可以尝试使用HBase的其他功能,如增加列族、修改列族、修改表属性等。 总而言之,实验三通过熟悉HBase常用操作,帮助我们掌握HBase的基本使用方法。掌握了这些操作,我们就可以在实际应用中使用HBase来存储和查询大规模数据,提高数据处理效率和可靠性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值