Hadoop中的作业(Job)(6)

MapReduce作业

                            MapReduce作业(Job)是客户端需要执行的一个工作单元:它包括输入数据,MapReduce程序和配置信息。

Hadoop作业

                            Hadoop是将作业分成若干个小任务(Task)来执行,其中包括两类任务:Map任务和Reduce任务。有两类节点控制着作业执行过程:一个JobTracket及一系列TaskTracker。JobTracker通过调度TaskTracker上运行的任务,来协调所有运行在系统上的作业。TaskTracker在运行任务的同时将运行进度报告发送给JobTracker,JobTracker由此记录每项作业任务的整体进度情况,如果其中一个任务失败,JobTracker可以在另外一个TaskTracker节点上重新调度该任务。


Map任务将其输出写入到本地硬盘,而非HDFS,这是为什么?

                    因为Map的输出是中间结果,该中间结果由reduce任务处理后才产生最终输出结构,而且一旦作业完成,Map的输出结果可以被删除,因此,如果把它存储在HDFS中并实现备份,难免小题大做。如果该节点上运行的Map任务将Map中间结果传送到reduce任务之前失败,Hadoop将在另一个节点上重新运行这个map任务以再次构建Map中间结果。

                    如果有多个Reduce任务,则每个Map任务都会对其输出进行分区(Partition),即为每个Reduce任务建一个分区,每个分区有许多键(及其对应值),但每个键对应的键/值对记录都在同一分区中。分区由用户定义的分区函数控制,但通常默认的分区器(Partitioner)通过哈希函数来分区的,这种方法很高效。



                                                                                                                            Name:Xr

                                                                                                                            Date:2014-02-25 21:41

转载于:https://my.oschina.net/Xiao629/blog/203101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值