大数据hadoop之MapReduce数据处理过程

简介MapReduce是一种编程模型,在真正应用于工作上时,它分为MapTask阶段和ReduceTask阶段,用于大规模数据集(大于1TB)的并行运算。概念"Map(射)“和"Reduce(约)”,是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的
摘要由CSDN通过智能技术生成

流程图与过程详解

MapTask阶段
在这里插入图片描述

  1. 既然需要进行数据处理,自然需要我们提供数据,那么首先我们需要提供待处理的文件,可以是一个也可以是多个

  2. 在我们(客户端)提交(submit())数据前,客户端会获取数据的信息,根据参数配置,形成任务分配的规划,即计划切片数(默认一个切片大小128M,hadoop老版本是64M)
    注:虽然切片的大小是按照128M为一个分界线,但是如果有两个文件需要被切片,那么不论第二的文件多小,都独占一个切片,不需要跟在第一个文件最后一个切片的末尾,如图
    在这里插入图片描述

  3. 然后需要提交切片信息,包含job.split(切片)、wc.jar(本地模式无需提交,集群下需要)、job.xml(配置信息),这些信息

  4. 接着Yarn会调用RM(ResourceManager)会创建MrAppmaster(job资源的老大)、NodeManager。其中MrAppmaster会根据split(分片)决定启动MapTask的数量。

  5. 开始读取数据,调用InputFormat这个接口去读取,其中默认情况下是采用InputFormat下的TextInputFormat这个具体实现类进行的,特点是每次读取文本数据,是一

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值