资源预览内容
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验一 HDFS操作方法和编程实践一、实验目的l 理解HDFS在Hadoop体系结构中的角色;l 熟练使用HDFS操作常用的Shell命令;l 熟悉HDFS操作常用的Java API。二、实验平台l 操作系统:Linux(建议Ubuntu16.04);l Hadoop版本:2.7.1;l JDK版本:1.7或以上版本;l Java IDE:Eclipse。三、实验内容(一)熟悉HDFS操作常用的Shell命令(1)使用hadoop用户登录Linux系统,启动Hadoop(Hadoop的安装目录为“/usr/local/hadoop”),为hadoop用户在HDFS中创建用户目录“/user/Hadoop”。(2)接着在HDFS的目录“/user/hadoop”下,创建test文件夹,并查看文件列表。(3)将Linux系统本地的“/.bashrc”文件上传到HDFS的test文件夹中,并查看test。(4)将HDFS文件夹test复制到Linux系统本地文件系统的“/usr/local/hadoop”目录下。(二)编程实现以下功能:(1)向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,则由用户来指定是追加到原有文件末尾还是覆盖原有的文件;(2)从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名;(3)将HDFS中指定文件的内容输出到终端中;(4)提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录;(5)删除HDFS中指定的文件; 实验二 HBase Shell命令和编程实践一、实验目的l 理解HBase在Hadoop体系结构中的角色;l 熟练使用HBase操作常用的Shell命令;l 熟悉HBase操作常用的Java API。二、实验平台l 操作系统:Linux(建议Ubuntu16.04);l Hadoop版本:2.7.1;l HBase版本:1.1.5;l JDK版本:1.7或以上版本;l Java IDE:Eclipse。三、实验内容(一)编程实现以下指定功能,并用Hadoop提供的HBase Shell命令完成相同任务:(1) 列出HBase所有的表的相关信息,例如表名;(2) 在终端打印出指定的表的所有记录数据; (3) 向已经创建好的表添加和删除指定的列族或列;(4) 清空指定的表的所有记录数据;(5) 统计表的行数。(二)HBase数据库操作1. 现有以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据:学生表(Student)学号(S_No)姓名(S_Name)性别(S_Sex)年龄(S_Age)2015001Zhangsanmale232015003Maryfemale222015003Lisimale24课程表(Course)课程号(C_No)课程名(C_Name)学分(C_Credit)123001Math2.0123002Computer Science5.0123003English3.0 选课表(SC)学号(SC_Sno)课程号(SC_Cno)成绩(SC_Score)201500112300186201500112300369201500212300277201500212300399201500312300198201500312300295 2. 请编程实现以下功能接口,并在主程序中调用这些功能接口进行测试:(1)createTable(String tableName, String fields)创建表,参数tableName为表的名称,字符串数组fields为存储记录各个字段名称的数组。要求当HBase已经存在名为tableName的表的时候,先删除原有的表,然后再创建新的表。(2)addRecord(String tableName, String row, String fields, String values)向表tableName、行row和字符串数组fields指定的单元格中添加对应的数据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为某一列族名称时,如果底下有若干个列限定符,则要列出每个列限定符代表的列的数据;当参数column为某一列具体名称(例如“Score:Math”)时,只需要列出该列的数据。(4)modifyData(String tableName, String row, String column)修改表tableName,行row,列column指定的单元格的数据。(5)deleteRow(String tableName, String row)删除表tableName中row指定的行的记录。实验三 MapReduce编程实践一、实验目的(1)通过实验掌握基本的MapReduce编程方法;(2)掌握用MapReduce解决一些常见的数据处理问题,包括数据去重、数据排序等。二、实验平台(1)操作系统:Linux(建议Ubuntu16.04)(2)Hadoop版本:2.7.1三、实验内容(一)编程实现文件合并和去重操作对于两个输入文件,即文件A和文件B,请编写MapReduce程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新的输出文件C。下面是输入文件和输出文件的一个样例供参考。输入文件A的样例如下:20170101 x20170102 y20170103 x20170104 y20170105 z20170106 x输入文件B的样例如下:20170101 y20170102 y20170103 x20170104 z20170105 y根据输入文件A和B合并得到的输出文件C的样例如下:20170101 x20170101 y20170102 y20170103 x20170104 y20170104 z20170105 y20170105 z20170106 x(二)编写程序实现对输入文件的排序现在有多个输入文件,每个文件中的每行内容均为一个整数。要求读取所有文件中的整数,进行升序排序后,输出到一个新的文件中,输出的数据格式为每行两个整数,第一个数字为第二个整数的排序位次,第二个整数为原待排列的整数。下面是输入文件和输出文件的一个样例供参考。输入文件1的样例如下:33371240输入文件2的样例如下:416395输入文件3的样例如下:14525根据输入文件1、2和3得到的输出文件如下:1 12 43 54 125 166 257 338 379 3910 4011 45实验四 Spark编程实践一、实验目的(1)熟悉Spark的RDD基本操作及键值对操作;(2)熟悉使用RDD编程解决实际具体问题的方法。二、实验平台操作系统:Ubuntu16.04Spark版本:2.4.0Python版本:3.4.3三、实验内容和要求1pyspark交互式编程请到智慧树平台下载data1.txt,该数据集包含了某大学计算机系的成绩,数据格式如下所示:Tom,DataBase,80Tom,Algorithm,50Tom,DataStructure,60Jim,DataBase,90Jim,Algorithm,60Jim,DataStructure,80请根据给定的实验数据,在pyspark中通过编程来计算以下内容:(1)该系总共有多少学生;(2)该系共开设了多少门课程;(3)Tom同学的总成绩平均分是多少;(4)求每名同学的选修的课程门数;2.编写独立应用程序实现数据去重对于两个输入文件A和B,编写Spark独立应用程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新文件C。下面是输入文件和输出文件的一个样例,供参考。输入文件A的样例如下:20170101 x20170102 y20170103 x20170104 y20170105 z20170106 z输入文件B的样例如下:20170101 y20170102 y20170103 x20170104 z20170105 y根据输入的文件A和B合并得到的输出文件C的样例如下:20170101 x20170101 y20170102 y20170103 x20170104 y20170104 z20170105 y20170105 z20170106 z3.编写独立应用程序实现求平均值问题每个输入文件表示班级学生某个学科的成绩,每行内容由两个字段组成,第一个是学生名字,第二个是学生的成绩;编写Spark独立应用程序求出所有学生的平均成绩,并输出到一个新文件中。下面是输入文件和输出文件的一个样例,供参考。Algorithm成绩:小明 92小红 87小新 82小丽 90Database成绩:小明 95小红 81小新 89小丽 85Python成绩:小明 82小红 83小新 94小丽 91平均成绩如下: (小红,83.67) (小新,88.33) (小明,89.67) (小丽,88.67)附:实验报告格式大数据平台应用技术课程实验报告课程名称大数据平台应用技术班级实验日期姓名 学号实验成绩实验名称实验目的实验环境 实 验 内 容 实验步骤及实现代码调试过程及实验结果 (详细记录在调试过程中出现的问题及解决方法。记录实验执行的结果,可以截图)总结 (
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号