《云计算实验题(8页).doc》由会员分享,可在线阅读,更多相关《云计算实验题(8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-云计算实验题-第 8 页熟悉常用的Linux操作和Hadoop操作熟悉常用的HDFS操作熟悉常用的HBase操作1 实验内容和要求1. 编程实现以下指定功能,并用Hadoop提供的HBase Shell命令完成相同任务:(1) 列出HBase所有的表的相关信息,例如表名;(2) 在终端打印出指定的表的所有记录数据;(3) 向已经创建好的表添加和删除指定的列族或列;添加:删除:(4) 清空指定的表的所有记录数据;(5) 统计表的行数。2. 现有以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据:学生表(Student)学号(S_No)姓名(S_Name)性别(S_S
2、ex)年龄(S_Age)2015001Zhangsanmale232015003Maryfemale222015003Lisimale24课程表(Course)课程号(C_No)课程名(C_Name)学分(C_Credit)123001Math123002Computer Science123003English选课表(SC)学号(SC_Sno)课程号(SC_Cno)成绩(SC_Score)201500112300186201500112300369201500212300277201500212300399201500312300198201500312300295学生表:创建:插入数据:课
3、程表:创建:插入数据:选课表:创建:插入数据:同时,请编程完成以下指定功能:(1)createTable(String tableName, String fields)创建表,参数tableName为表的名称,字符串数组fields为存储记录各个域名称的数组。要求当HBase已经存在名为tableName的表的时候,先删除原有的表,然后再创建新的表。(2)addRecord(String tableName, String row, String fields, String values)向表tableName、行row(用S_Name表示)和字符串数组files指定的单元格中添加对应的数
4、据values。其中fields中每个元素如果对应的列族下还有相应的列限定符的话,用“columnFamily:column”表示。例如,同时向“Math”、“Computer Science”、“English”三列添加成绩时,字符串数组fields为“Score:Math”,”Score;Computer Science”,”Score:English”,数组values存储这三门课的成绩。(3)scanColumn(String tableName, String column)浏览表tableName某一列的数据,如果某一行记录中该列数据不存在,则返回null。要求当参数column为
5、某一列族名称时,如果底下有若干个列限定符,则要列出每个列限定符代表的列的数据;当参数column为某一列具体名称(例如“Score:Math”)时,只需要列出该列的数据。(4)modifyData(String tableName, String row, String column)修改表tableName,行row(可以用学生姓名S_Name表示),列column指定的单元格的数据。(5)deleteRow(String tableName, String row)删除表tableName中row指定的行的记录。3. 利用HBase和MapReduce完成如下任务:假设HBase有2张表,
6、表的逻辑视图及部分数据如下所示:表 逻辑视图及部分数据书名(bookName)价格(price)Database System Concept30$Thinking in Java60$Data Mining25$要求:从HBase读出上述两张表的数据,对“price”的排序,并将结果存储到HBase中。创建表:排序:实验4 MapReduce编程初级实践编程实现文件合并和去重操作对于两个输入文件,即文件A和文件B,请编写MapReduce程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新的输出文件C。下面是输入文件和输出文件的一个样例供参考。 输入文件A的样例如下:20150101
7、x20150102 y20150103 x20150104 y20150105 z20150106 x输入文件B的样例如下:20150101 y20150102 y20150103 x20150104 z20150105 y根据输入文件A和B合并得到的输出文件C的样例如下:20150101 x20150101 y20150102 y20150103 x20150104 y20150104 z20150105 y20150105 z20150106 x2. 编写程序实现对输入文件的排序现在有多个输入文件,每个文件中的每行内容均为一个整数。要求读取所有文件中的整数,进行升序排序后,输出到一个新的文
8、件中,输出的数据格式为每行两个整数,第一个数字为第二个整数的排序位次,第二个整数为原待排列的整数。下面是输入文件和输出文件的一个样例供参考。输入文件1的样例如下:33371240输入文件2的样例如下:416395输入文件3的样例如下:14525根据输入文件1、2和3得到的输出文件如下:1 12 43 54 125 166 257 338 379 3910 4011 453. 对给定的表格进行信息挖掘下面给出一个child-parent的表格,要求挖掘其中的父子辈关系,给出祖孙辈关系的表格。输入文件内容如下:child parentSteven LucySteven JackJone LucyJone JackLucy MaryLucy FrankJack AliceJack JesseDavid AliceDavid JessePhilip DavidPhilip AlmaMark DavidMark Alma输出文件内容如下:grandchild grandparentSteven AliceSteven JesseJone AliceJone JesseSteven MarySteven FrankJone MaryJone FrankPhilip AlicePhilip JesseMark AliceMark Jesse