Hadoop大数据开发基础系列:四、MapReduce初级编程 (6)

上传数据文件并执行程序:

hdfs dfs -put /testhadoop/subject_score.txt /user/dftest hadoop jar NewDaily3.jar test.ScoreSorting /user/dftest/subject_score.txt /user/dftest/SortScore8 //经过8次才调好的。

经过不断地调试,但是总会出现输入类型不匹配的问题,最终,找到在map函数重写的时候,因为值类型错了,应该是Text类型,写成了IntWritable类型,但是报错总是报是因为Text 和 LongWritable问题,所以有点迷。

最后问题解决:

Hadoop大数据开发基础系列:四、MapReduce初级编程

    实训2.对两个文件中的数据进行合并和去重

(1)需求说明:

有两个样例文件:XX与YY。要求合并两个文件中的数据,并对合并后的数据进行去重,将结果输出到文件ZZ。

(2)实现思路与步骤:

①利用MapReduce中Reducer类会合并相同键值对的特性,对目标数据进行去重。

②在HDFS创建目录XXYY,将样例文件XX与YY上传到此目录。MapReduce程序读取此目录下的文件。

③在Mapper类中,map函数读取两个文件数据,直接将读取的数据作为键,将值设置为1,最后输出格式为<Text,IntWritable>。

④在Reducer中,键保持不变,将对应的值取为空,输出类型为<Text,NullWritable>。

(3)实现及输出结果:

7.小练习

在MapReduce程序中,Reducer类中包括的函数有:B

A.   startup、reduce、end        B.    setup、reduce、cleanup    

C.    start、run、reduce、end    D.   startup、run、end     

下一章将对MapReduce编程进行更深一步的剖析 ^_^ 。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpsww.html