文章目录
- Hadoop大数据技术课程设计说明
- 《Hadoop大数据技术》课程设计任务书
- 一、设计时间及地点
- 二、设计目的和要求
- 三、设计题目和要求
- 四、设计成果的编制
- 六、设计指导教师及分组情况
- 七、课程设计说明:
- 八、课程设计选题说明:
- 问题集
- 1. mapreduce的环境怎么搭建,以及Pom文件怎么写
- 总结
- 《Hadoop大数据技术》课程设计任务书
Hadoop大数据技术课程设计说明
《Hadoop大数据技术》课程设计任务书
一、设计时间及地点
1、时间:2021-2022年第一学期第15-16周。上午:8:00-11:30,下午:2:00-5:30。设计周的最后两天为验收时间,每个小组要求对课程设计任务提交设计报告。 2、地点:机房10#A301,机房10#A302,机房10#A303,以及安排的相关机房
二、设计目的和要求
(一)目的 本课程设计的目的是培养应用Hadoop大数据平台技术的相关工具以及思想解决实际问题的能力,掌握使用课程所学相关知识,提高调查研究、查阅技术资料以及编写技术文献的能力 (二)任务 在学好《Hadoop大数据技术》课程的基础上,搜集、研究和学习解决问题的相关知识,综合运用所学知识解决对应实际问题。
三、设计题目和要求
课程设计以小组方式进行,每个小组成员不超过3人,小组成员必须明确分工,保证组员的工作量符合课程考核要求。课程设计题目必须围绕Hadoop大数据平台相关技术选题,可以参考如下7类题目,但不局限于以下题目,可以采用自拟题目。 1 部署高可用的Hadoop平台 2 基于HDFS的应用开发 3 基于MapReduce的数据分析或应用开发 4 基于Hive的数据分析 5 基于Zookeeper的分布式协调服务 6 基于Flume的高可靠分布式日志采集系统 7 基于大数据的数据处理流程 参考选题: 1、部署高可用的Hadoop平台 功能描述:基于Ambari、CDM、TDM等工具完成多个节点的Hadoop平台搭建,并基于管理工具进行相关组件的运维与基本测试。 2、基于HDFS的应用开发 功能描述:搭建伪分布Hadoop集群,并基于HDFS实现相关应用开发。应用主题可以为实现网盘功能 ,包括上传,下载,删除等功能,也可自行拓展权限管理等功能。 3、基于MapReduce的数据分析 功能描述:搭建伪分布Hadoop集群,并基于MapReduce完成相关数据分析。可包含推荐系统、多维度的数据分析、PageRank算法等。 4、基于Hive的数据分析 功能描述:搭建伪分布Hadoop集群,并基于Hive完成相关数据而分析。功能点可包括内外部表的使用,分区分桶表的使用,多个维度的HQL分析等。 5、基于Zookeeper的分布式协调服务 功能描述: 搭建Zookeeper集群,并基于Zookeeper实现分布式锁或服务动态上下线的功能。 6、基于Flume的高可靠分布式日志采集系统 功能描述:基于Flume完成分布式的日志采集,并完成日志采集系统的高可靠,或是多路分流。 7、基于大数据的数据处理流程 功能描述:功能不限,结合大数据的数据处理流程,能正确的使用大数据的各个组件完成的大数据的数据处理分析过程。
四、设计成果的编制
(一)课程设计过程产生的相关代码、结果以及结果分析。 (二)编写课程设计报告,内容包括: 设计报告是对课程设计阶段所进行工作的总结,必须独立撰写一份课程设计报告,课程结束前需将报告打印好交指导老师评分。报告必须包括如下几个部分: 1.封面(见附一) 2.课题分析:对课题要解决的问题进行描述、开发语言与开发环境。 3.功能分析:对课题需要完成的功能模块进行分析。 4.实现技术:描述完成课题使用的方法,问题处理的具体实现过程。 5.设计实现:功能的具体实现,以及使用的工具的配置,脚本等。 6.结果与分析:展示设计实现功能、分析运行结果。 7.学习体会:包括设计、软件部署与编码调试过程中遇到的问题及解决办法;课程设计中的不足以及改进设想;设计中收获、体会等。 五、评分标准及成绩评定 1.平时纪律、预习及上机考核(占20%) 2.课程设计工作量、小组任务分工、系统完成情况(占50%) 3.设计报告(占30%)。 4.等级划分:优≥90分、良≥80分、中≥70分、及格≥60分和不及格<60分。 5.与他人雷同或抄写复制他人程序及报告者,成绩按不及格处理。
六、设计指导教师及分组情况
在整个设计过程中,参与设计的学生上机安排在实验机房,机房为10#A302,机房10#A303,或安排的相关机房,未安排在机房上机的时间,同学们选择进入图书馆进行课程设计,要遵守纪律,按时考勤。 上机安排如下: 第15周 周一到周五的 下午6-9节
七、课程设计说明:
本课程设计分为规定动作 自主设计动作两个部分: 规定动作:完成LSN实验教学平台中《hadoop大数据技术》课程的实验–19级hadoop大数据技术课程设计案例中的前2个案例。 自主设计动作:可参考如下案例,每个主题限选2组 1、部署高可用的Hadoop平台 功能描述:基于Ambari、CDM、TDM等工具完成多个节点的Hadoop平台搭建,并基于管理工具进行相关组件的运维与基本测试。 可参考: https://www.bilibili.com/video/BV1mJ411s7vP
2、基于HDFS的应用开发 功能描述:搭建伪分布Hadoop集群,并基于HDFS实现相关应用开发。应用主题可以为实现网盘功能 ,包括上传,下载,删除等功能,也可自行拓展权限管理等功能。 可参考: 《hadoop大数据技术》课程的实验–19级hadoop大数据技术课程设计案例中的第3个案例 https://blog.csdn.net/weixin_41983824/article/details/84586194
3、基于MapReduce的数据分析(本主题依据数据集判断是否为同一主题) 功能描述:搭建伪分布Hadoop集群,并基于MapReduce完成相关数据分析。可包含推荐系统、多维度的数据分析、PageRank算法等。 可参考: https://gitee.com/somefusion/LogAnalyzeHelper https://www.cnblogs.com/cairsha/p/10033947.html https://www.cnblogs.com/MoooJL/p/13583325.html https://www.cnblogs.com/zimo-jing/p/8835667.html
4、基于Hive的数据分析 功能描述:搭建伪分布Hadoop集群,并基于Hive完成相关数据而分析。功能点可包括内外部表的使用,分区分桶表的使用,多个维度的HQL分析等。 参考: https://gitee.com/master_empty/hive/tree/master https://blog.csdn.net/ysy_1_2/article/details/106466263
5、基于Zookeeper的分布式协调服务 功能描述: 搭建Zookeeper集群,并基于Zookeeper实现分布式锁或服务动态上下线的功能。 参考: https://blog.csdn.net/liyiming2017/category_8119571.html
6、基于Flume的高可靠分布式日志采集系统 功能描述:基于Flume完成分布式的日志采集,并完成日志采集系统的高可靠,或是多路分流。
7、基于大数据的数据处理流程 功能描述:功能不限,结合大数据的数据处理流程,能正确的使用大数据的各个组件完成的大数据的数据处理分析过程。
八、课程设计选题说明:
1.选题过程中,要注意主题的明确
可以修改为: 基于MapReduce实现图书馆数据的分析 基于MapReduce实现天气数据的分析 基于MapReduce实现天气推荐系统 等
2.工作量体现
每个人基于LSN完成规定动作 每天要记录当天完成的工作任务,体现在课程设计中 每位同学的工作量要饱满
问题集
1. mapreduce的环境怎么搭建,以及Pom文件怎么写
答:先安装好hadoop环境,并开启hdfs,yarn,通过jps确定5个服务都在
这时,就可以测试执行mapreduce程序了
代码语言:javascript复制# 基于hadoop的提供的MR程序,进行词频统计的案例
hadoop jar /app/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /demoinput /output
# /demoinput是输入文件的路径
# /output 是输出文件的路径
代码语言:javascript复制 # 基于hadoop的提供的MR程序,进行蒙特卡洛就π的案例
hadoop jar /app/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar pi 5 5
经过上面的例子,我们会发现,执行MR程序,只需要编写一个MR代码,然后通过hadoop jar 去执行就好了。
那么怎么搭建Mapreduce工程呢,流程分为,创建maven工程,添加pom依赖,编写Mapper,Reducer,主方法类,然后打包后,上传到hadoop 集群,再通过hadoop jar XXX,即可执行
具体步骤较为琐碎,可以参考lsn中实验 实验3 分析和编写WordCount程序 http://172.16.16.164:8000/courses/10/assignments/62
总结
同学们有问题的话,可以留言,看到会及时回复