作者简介
创业中的技术合伙人杜亦舒,喜欢学习和分享技术。个人订阅号:性能和架构。
本文旨在帮助您快速了解MapReduce的工作机制和开发方法,解决以下问题:
MapReduce的基本原理是什么?
MapReduce的实现过程是怎样的?
MapReduce核心流程的细节
如何开发MapReduce程序?
文中提供了程序实例中涉及的测试数据文件,可以直接下载使用。
至于实用环境,如果不喜欢自己搭建Hadoop环境,可以下载使用本教程提供的环境,具体使用方法会在实用部分介绍。
经过学习和实践,可以对MapReduce的工作原理有一个清晰的认识,掌握MapReduce的编程思想。
大纲:
一、MapReduce的基本原理
二、MapReduce词条示例——字数字数统计
三、MapReduce执行过程分析
示例1-自定义对象序列化
示例2-自定义分区
示例3-计算每组订单中金额最大的记录
示例4-合并多个小文件
示例5-将输出分组到多个文件
第四,梳理MapReduce的核心流程
示例6-连接操作
示例7-计算用户之间的共同朋友
动词 (verb的缩写)下载方法
一、MapReduce的基本原理
MapReduce是一种用于大规模数据集分布式计算的编程模型。
1.MapReduce的流行解释
图书馆有10个书架来数书的数量。为了加快统计速度,管理员找了10个学生,每个学生负责统计一个书架上的书的数量。
张统计书架1
王统计书架2
刘同学统计书架3
……
过了一会儿,10个同学陆续来管理员那里报了统计,管理员把所有的数字加起来就得到书的总数。
这个过程可以理解为MapReduce的工作过程。
2.MapReduce中有两个核心操作
地图节点2
输入:“今天很好”
输出:,,
地图节点3
输入:“好天气就是好天气”
输出:,,,
地图节点4
输入:“今天天气不错”
输出:,,,
当传递给reduce方法时,它变成:
很好
值:
因此,reduce方法接收相同键的一组值。
主程序:src/main/Java/wordcuntmapreduce . Java
该主要方法用于组装作业并提交执行
4.编译并打包
在pom.xml所在的目录中执行打包命令:
mvn包
执行完成后,将自动生成目标目录,其中包含打包的jar文件。
现在项目文件结构:
5.运作
先将目标中的jar上传到Hadoop服务器,然后准备Hadoop服务器HDFS的测试文件
cd $HADOOP_HOME
HDFS DFS-mkdir-p/word count/input
hdfs dfs -put *。txt /wordcount/input
执行wordcount jar
Hadoop jar MapReduce-word count-0 . 0 . 1-SNAPAST . jar WordCountMapr
educe/word count/input/word count/output
执行完成后进行验证
hdfs dfs -cat /wordcount/output/*
可以看到字数的统计结果。
三、MapReduce执行过程分析
让我们看看从作业提交到作业执行的过程。
MapReduce程序:src/main/java/FlowCount.java
主程序指定自定义分区的使用
job . SetPartitionerclass;
以连接的关联项“productid”作为键,以bean作为值的输出。
3)减少加工
reduce方法接收一组具有相同pid的bean对象。
遍历bean对象集,如果bean是订单数据,放入新的订单集,如果是商品数据,保存到商品bean中。然后遍历新的订单集,用商品bean的数据完成每个订单bean。
这样就获得了完整的订单及其商品信息。
2.代码实践
输出
再读一行B:A,C,E,K
输出
……
减少
同一把钥匙将被分成一组,例如:
& ltc,A >;& ltc,B& gt;& ltc,E >;& ltc,F >;& ltc,G >;......
关键:C
数值:
意思:C是这些用户的朋友。
遍历该值以获得:
A B有一个共同的朋友c。
A E有个共同的朋友c。
...
B E有个共同的朋友c。
B F有个共同的朋友c。
输出:
& ltA-B,加州;
& lt阿英,C >;
& lt飞机、飞机、飞机。
& lt阿甘,C >;
& ltB-E,C >;
& ltB-F,C >;
.....
2)第二个MapReduce
计算上一步的输出结果。
地图
读出上一步的结果数据,组织成键值直接输出
例如:
排成一行阅读
直接输出
减少
读入数据,组合键相同
& ltA-B,加州;& ltA-B;& ltA-B,通用汽车公司;......
输出:
A-B C,F,G,.....
这样,获得了两个用户之间的共同好友列表
2.代码实践
◆近期热点文章◆
◆ MVP栏目◆
都一样。
都一样。
◆最近的活动◆
中国数据资产管理峰会上海展
峰会官方网站:www.dams.org.cn
1.《mapreduce 7个实例全面掌握Hadoop MapReduce》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《mapreduce 7个实例全面掌握Hadoop MapReduce》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/1667598.html