MapReduce的工作机制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2 作业运行机制
作业的提交:
1.执行runjob()方法创 建一个JobClient实例;
2.向JobTracker请求一 个新的作业Id,检查 作业的输出说明,计 算作业的输入分片;
3.复制作业资源(Jar 文件、配置文件和计 算所得分片信息)到 以作业ID命名的的目 录下的Jobtracker的文 件系统下
2.2 作业运行机制
任务的分配:
7.TaskTracker定期发送 “心跳”给JobTBaidu Nhomakorabeaacker.
“心跳”告知 JobTracker它是否存活, 同时也充当两者之间 的消息通道。
Jobtracker为tasktracker 选择任务之前,必须 先选定任务所在的作 业。
选择map任务时, jobtracker会考虑 tasktracker的网络位置, 选在一个距离其输入 分片最近的tasktracker
提纲
2. MapReduce的工作机制
2.1 作业运行过程中的4个实体 2.2 作业运行机制 2.3 shuffle和排序
2.1 作业运行过程中的4个实体
客户端Client:用于提交MapReduce job JobTracker:用户提交作业的服务器,同时它 还负责各个作业任务的分配,管理所有的任 务服务器。 TaskTracker:任劳任怨的工蜂,负责执行具体 的任务(map任务或reduce任务)。 HDFS:hadoop分布式文件系统,用于在各个 进程间共享Job相关的文件
10个Hadoop的应用场景
基础架构管理:这是一个非常基础的应用场景,用户可以用Hadoop从服 务器、交换机以及其他的设备中收集并分析数据。 图像处理:创业公司Skybox Imaging 使用Hadoop来存储并处理图片数据, 从卫星中拍摄的高清图像中探测地理变化。 诈骗检测:这个场景用户接触的比较少,一般金融服务或者政府机构会 用到。利用Hadoop来存储所有的客户交易数据,包括一些非结构化的数 据,能够帮助机构发现客户的异常活动,预防欺诈行为。 IT安全:除企业IT基础机构的管理之外,Hadoop还可以用来处理机器生 成数据以便甄别来自恶意软件或者网络中的攻击。 医疗保健:医疗行业也会用到Hadoop,像IBM的Watson就会使用Hadoop集 群作为其服务的基础,包括语义分析等高级分析技术等。医疗机构可以 利用语义分析为患者提供医护人员,并协助医生更好地为患者进行诊断。
4.调用Jobtracker的 submitjob()方法来通 知Jobtracker作业准备
2.2 作业运行机制
作业的初始化:
5.创建一个表示正在 运行作业的对象—— 封装任务和记录信息, 以便跟踪任务的状态 和进程
6.获取已经计算好的 输入分片信息,为每 一个分片创建一个 map任务(reduce任务 的个数由用户配置), 将任务放入任务列表
1.1什么是MapReduce
MapReduce是一种并行编程模型,用于对大 规模数据集(大于1TB)的并行处理。
Hadoop中实现了MapReduce框架,为用户提 供MapReduce程序的开发接口和运行环境。
1.1什么是MapReduce
MapReduce是一种并行编程模型,用于对大 规模数据集(大于1TB)的并行处理。 Hadoop中实现了MapReduce框架,为用户提 供MapReduce程序的开发接口和运行环境。
Hadoop将输入数据划分成等长的小数据块,称 为分片(split);一个合理的分片大小趋向于 HDFS的一个块的大小,默认是64M;在存有 输入数据的节点上运行map任务可以获得最 佳性能,这就是所谓的本地化优化。
1.4 MapReduce中的数据流
具有3个map任务和2个reduce任务的MapReduce数据流
MapReduce确保每个Reducer的输入都是按键 排序。 系统执行排序的过程——将map的输 出作为输入传给reduce——称为shuffle。
补充:
Hadoop的应用
10个Hadoop的应用场景
美国着名科技博客GigaOM的专栏作家Derrick Harris跟踪云计算和Hadoop技术已有多年时间,他也在 最近的一篇文章中总结了的应用场景,下面分享给大家:
Hadoop之MapReduce的工作机制
周涌 2013年3月21
提纲
1. 概述
1.1 什么是MapReduce 1.2 MapReduce的用途 1.3 MapReduce 作业和任务 1.4 MapReduce中的数据流
2. MapReduce的工作机制
2.1 作业运行过程中的4个实体 2.2 作业运行机制 2.3 shuffle和排序
在线旅游:你知道吗,目前全球范围内80%的在线旅游网站都是在使用 Cloudera公司提供的Hadoop发行版,其中SearchBI网站曾经报道过的Expedia 也在其中。 移动数据:Cloudera运营总监称,美国有70%的智能手机数据服务背后都是 由Hadoop来支撑的,也就是说,包括数据的存储以及无线运营商的数据处 理等,都是在利用Hadoop技术。 电子商务:这一场景应该是非常确定的,eBay就是最大的实践者之一。国内 的电商在Hadoop技术上也是储备颇为雄厚的。 能源开采:美国Chevron公司是全美第二大石油公司,他们的IT部门主管介 绍了Chevron使用Hadoop的经验,他们利用Hadoop进行数据的收集和处理, 其中这些数据是海洋的地震数据,以便于他们找到油矿的位置。 节能:另外一家能源服务商Opower也在使用Hadoop,为消费者提供节约电费 的服务,其中对用户电费单进行了预测分析。
统计词频的例子
1.2MapReduce的用途
在Google,MapReduce用在非常广泛的应用程 序中,如分布grep,分布排序,web访问日志 分析,反向索引构建,文档聚类,机器学习, 基于统计的机器翻译。
值得注意的是,MapReduce实现以后,它被 用来重新生成Google的整个索引。 总来的说MapReduce是用于大规模数据的并 行处理。
2.2 作业运行机制
任务的执行
8.把作业的JAR 文件等 资源复制到
TaskTracker所在的文件 系统; 然后 Tasktracker解压JAR文 件到本地目录;第三 步,新建一个 TaskRunner实例来运 行该任务
9.TaskRunner启动一个 新的JVM
10.在JVM运行任务
2.3 shuffle和排序
1.3 MapReduce 作业和任务
MapReduce 作业( Job )是指客户端需要执 行的一个工作单元(它包括输入数据、 MapReduce程序和配置信息)。 Hadoop将作业分成若干个小任务(Task)来 执行,其中包括两类任务:map任务和reduce 任务。
1.4 MapReduce中的数据流