- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验名称
Hadoop MapReduce开发
学 院
人工智能与大数据学院
专业班级
智能2001班
姓 名
张明宇
学 号
202028010126
任课教师
韩海鹏
实验时间
2022.10.9-2022.10.10
大数据技术原理与应用课程实验报告
实验目的
通过实验掌握基本的MapReduce安装,连接,开启,编程方法;
2.掌握用MapReduce解决一些常见的数据处理问题,包括数据去重、数据排序和 \t /weixinarticle/details/_blank 数据挖掘等。
二、实验内容
1、启动Hadoop完全分布式集群。
2、打开IDEA开发工具,在上一次HDFS API的项目中。在课题案例温度统计的基础上进行二次开发,实现统计每个年份平均温度。
注:统计平均温度的核心逻辑如下:
map端,要区分温度的正负,然后将所有温度都进行切分。
reduce端,在统计各个年份中,所有温度进行求和sum。并对每个年份中温度进行计数count。使用温度总和与计数相除:sum/count,得到平均温度。
三、实验步骤及结果
步骤一:启动Hadoop完全分布式集群
步骤二:打开IDEA开发工具,实现统计每个年份平均温度
map端,要区分温度的正负,然后将所有温度都进行切分
2.reduce端,在统计各个年份中,所有温度进行求和sum。并对每个年份中温度进行计数count。使用温度总和与计数相除:sum/count,得到平均温度。
3.app端,运行出结果
在UI界面中查看
得到output里的输出文件part-r-00000,查看文件内容
执行成功,得出每个年份的平均温度
实验总结
通过本次实验,掌握了基本的MapReduce编程方法;掌握用MapReduce解决一些常见的数据处理问题,包括数据去重、数据排序和数据挖掘等。实验过程中遇到的问题及其解决办法:
访问HDFS无权限
报错内容如下:
org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode=:nutch:supergroup:rwxr-xr-x
报错原因:主要是由于HDFS的文件系统都是有用户和权限的,如果当前用户无权限则在使用该文件或文件夹的时候会报错。
解决方案:
使用hadoop fs -chmod -R 777 /命令来修改相关文件或文件夹权限;
如果在测试环境,不想这么麻烦来修改权限的话,也可使用配置来禁用hdfs的权限管理,可以在hdfs-site.xml中配置以下内容:
dfs.permissions
false
总之,遇到问题,不要怕麻烦,从程序的源头开始一步步排查,在排查的过程中不断总结,能力也就一步步在此过程中会慢慢提升。遇到问题能有个自己的思路是关键,首先得明白有哪些可能会导致出现这些问题,然后开始排查,这样处理问题才能有条不紊的进行下去,也是一种解决问题的比较好的方式。
文档评论(0)