美文网首页
第4课书面作业

第4课书面作业

作者: keon | 来源:发表于2016-08-28 18:30 被阅读0次

1 下载气象数据集部分数据(下载地址:http://www1.ncdc.noaa.gov/pub/data/noaa/2001/),求每年的最低温度,部署并运行之,抓图过程
2 在linux或win下安装eclipse,并且连接到Hadoop集群(关键步骤是编译插件),运行习题1的map-reduce程序作为测试,抓图整个过程
第3-4题为2选1(请在课程资源下载第4周作业素材和视频素材),如能2题均完成为最佳。
3 传递参数问题
请阅读Exercise_1.java,编译并且运行。该程序从Test_1改编而来,其主要差别在于能够让用户在结果文件中的每一行前面添加一个用户自定义的字符串,而这个字符串将由参数传递到程序中。例如,运行
$hadoop jar Exercise_1.jar input_path output_path hadoop
之后,第三个参数“hadoop”将会在结果文件中显示,例如附件“result_1”所显示的。
问题:着重考虑Exercise_1.java里面”需要注意的部分“,改写Test_2程序,得到的结果必须跟附件"resule_2"一致,并且其中hadoop必须由参数传递。
4 Setup函数的作用
阅读Exercise_2.java,这是一个与Exercise_1.java有相同效果的程序,自行搜索关于setup函数的资料,回答上述两个程序的不同。

1、
设置依赖的环境变量
[keon@h1 code]$ vim ~/.bash_profile

export HADOOP_HOME=/usr/hadoop-2.7.2

export JAVA_HOME=/usr/jdk1.8.0_101
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/s
hare/hadoop/common/hadoop-common-2.7.2.jar:$HADOOP_HOME/share/hadoop/hdfs/hadoop
-hdfs-2.7.2.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core
-2.7.2.jar:$HADOOP_HOME/share/hadoop/tools/lib/commons-cli-1.2.jar

编译代码
[keon@h1 wether]$ javac code/*
[keon@h1 wether]$ cd code/
[keon@h1 code]$ ls
MaxTemperature.class MaxTemperatureMapper.class MaxTemperatureReducer.class
MaxTemperature.java MaxTemperatureMapper.java MaxTemperatureReducer.java

打包class文件
[keon@h1 code]$ jar cvf ./MaxTemperature.jar ./*.class
added manifest
adding: MaxTemperature.class(in = 2665) (out= 1304)(deflated 51%)
adding: MaxTemperatureMapper.class(in = 1893) (out= 818)(deflated 56%)
adding: MaxTemperatureReducer.class(in = 1704) (out= 728)(deflated 57%)

准备数据文件
[keon@h1 data]$ cat * >> wetherdata.txt
[keon@h1 data]$ ls
007026-99999-2016 008415-99999-2016 010014-99999-2001 wetherdata.txt
008411-99999-2016 010000-99999-2001 010015-99999-2001
008414-99999-2016 010010-99999-2001 010017-99999-2001

[keon@h1 hadoop-2.7.2]$ ./bin/hadoop fs -mkdir /input
[keon@h1 hadoop-2.7.2]$ ./bin/hadoop fs -put ~/hadoop/wether/data/wetherdata.txt /input

运行程序
./bin/hadoop jar ~/hadoop/wether/code/Weather.jar /input /output

1.png 2.png

2、
为项目添加hadoopjar包


3.png

添加运行参数

4.png

运行获得结果


5.png

查看结果


6.png

3、
运行exercise_1


7.png

处理后的数据


8.png

添加reduce


9.png

结果


10.png

4、

11.png

Mapper和reducer的四个方法是setup,map(reduce),cleanup和run。其中,setup和cleanup用于管理生命周期中的资源,setup在完成构造,即将开始执行动作前调用,cleanup则在所有的动作完成后被调用。方法map(reduce)用于对一次输入的key/value对进行map(reduce)动作。run方法执行了上面描述的过程,它调用setup,让后迭代所有的key/value对,进行map(reduce),最后调用cleanup。

exercise_1获取名字是在map中进行,每次迭代都会进行获取,改为使用setup后,只会获取一次,提高效率。

相关文章

  • 第2课书面作业

    1 在Hadoop集群中编译并运行《权威指南》中的例3.22 自行在本地文件系统生成一个大约一百多字节的文本文件,...

  • 第4课书面作业

    1 下载气象数据集部分数据(下载地址:http://www1.ncdc.noaa.gov/pub/data/noa...

  • 第13课书面作业

    1 安装sqoop,并且把Mysql中的表数据导出到HDFS下的文本文件里,整个过程抓图2 安装flume或chu...

  • 2021.9.30

    “严控书面作业总量” 全面压减作业总量和时长,确保小学一二年级不布置书面家庭作业,其他年级每天书面作业完成时间平均...

  • 书面作业一

    花了半天的时间看完了老师推荐的《非暴力沟通》,在其中看到了许多我和龚老师第一次通话时,老师提到的“倾听”“理解”“...

  • 亲子日记第六十七篇 口语作业也是作业

    老师布置作业一般以书面作业为主,有时也布置口语作业。闺女对书面作业还是很重视的,认真对待,对于那些口语作业...

  • 暑假小结

    暑假小结 暑假马上过去了,做个小结 1:书面作业 学校布置的书面作业7.15日写完了,实践作业还差一些,因为英语不...

  • 一处小学作业管理规定

    一处小学作业管理规定 一、严控作业总量,减轻学生课业负担 (一)严控书面作业总量一、二年级不留书面家庭作业,教师根...

  • 关于低年级不布置家庭书面作业个人的一点想法

    我个人同意学生高效完成作业,但是我认为高效完成作业和布置书面家庭作业是不冲突的。一二年级不布置书面家庭作业,是...

  • 只有要写的才叫作业吗?

    关于一、二年级不留书面作业我非常赞成。不是只有书面作业才叫作业!听、读同样是作业,对一、二年级来说,语文、...

网友评论

      本文标题:第4课书面作业

      本文链接:https://www.haomeiwen.com/subject/khvtettx.html