Hadoop上路_12-MapReduce流程演示

    MapReduce是单个jobstracker和多个tasktracker的组合。一般jobstrackerHDFS中的namenode在同一个节点,也可配置为单独节点;tasktrackerdatanode必须是同一个节点。jobstracker是整个MapReduce系统的主控节点。

1jobstracker节点-Master节点: 

    (1)负责调度构成一个作业的全部任务,将之分配到不同的从属节点上。
    (2)通过心跳机制监控从属节点运行状况。一旦有意外,会立刻将任务转移。

2. tasktracker节点-Slave节点: 

    (1)负责执行主控节点分配的任务。 
    (2tasktracker  datanode 是同一个节点,以实现移动运算达到高效性。

3MapReduce分布式运算工作流程:

    我们按照WordCount的例子来讲解: 
        (1)首先,jobstracker按照block块数量划分出tasktracker,每个task对应一个datanode
        (2)然后,全部block块读取完毕,抽象出完整文件,再将文件分片,分片大小默认是和Block块相同的。
        (3)之后,每个文件片对应一个map方法,map中执行K1V1遍历,输出K2V2
        (4)接着,由MapReduce模型执行多个shuffle操作,归并数据。输出K2[V2]
        (5)最后,每个shuffle结果输入一个reduce方法,按照我们的逻辑输出K3V3,并又以Block文件块形式保存到磁盘上。

    上面5个步骤是按照图示的简单讲解,其中还有一些细节没有讲到。比如分片后的序列化、map之前的归并、reduce之前的分区等等。这些在后续章节会做出讲解。
    现在这部分内容会很难理解,但记无妨。在下一章节中讲到WordCount代码时回想此图就会很快明白。

- end 

hadoop-mapreduce-client-core是Hadoop分布式计算框架中的核心模块之一。它主要包含了Hadoop MapReduce的核心功能和API接口,是实现MapReduce编程模型的必备组件。 Hadoop MapReduce是一种用于大规模数据处理的编程模型,其核心思想是将大规模数据集分解成多个较小的数据块,分别在集群中的不同机器上进行处理,最后将结果整合。hadoop-mapreduce-client-core模块提供了与MapReduce相关的类和方法,方便开发者实现自定义的Map和Reduce任务。 具体来说,hadoop-mapreduce-client-core模块包含了以下重要组件和功能: 1. Job:Job表示一个MapReduce任务的定义和描述,包括输入路径、输出路径、Mapper和Reducer等。 2. Mapper:Mapper是MapReduce任务中的映射函数,它负责将输入数据转换成<key, value>键值对的形式。 3. Reducer:Reducer是MapReduce任务中的归约函数,它按照相同的key将所有Mapper输出的value进行聚合处理。 4. InputFormat:InputFormat负责将输入数据切分成多个InputSplit,每个InputSplit由一个Mapper负责处理。 5. OutputFormat:OutputFormat负责将Reducer的输出结果写入指定的输出路径中。 使用hadoop-mapreduce-client-core模块,开发者可以基于Hadoop分布式计算框架快速开发并行处理大规模数据的应用程序。通过编写自定义的Mapper和Reducer,可以实现各种类型的分布式计算,如数据清洗、聚合分析、机器学习等。 总之,hadoop-mapreduce-client-core是Hadoop分布式计算框架中的核心模块,提供了实现MapReduce编程模型所需的基本功能和API接口。使用该模块,开发者可以利用Hadoop的分布式计算能力,高效地处理和分析大规模数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值