MapReduce核心思想、编程规范及bean序列化

本文详细介绍了MapReduce的核心思想,包括其并行处理的Map和Reduce阶段,以及编程模型。同时,深入讨论了MapReduce的进程组成,如MrAppMaster、MapTask和ReduceTask。此外,文章还探讨了Hadoop序列化的概念和自定义bean对象实现Writable接口的步骤,强调了在MapReduce中序列化和反序列化的关键点。
摘要由CSDN通过智能技术生成

1. MapReduce 核心思想

在这里插入图片描述

  1. 分布式的运算程序往往需要分成至少 2 个阶段
  2. 第一个阶段的 MapTask 并发实例,完全并行运行,互不相干
  3. 第二个阶段的 ReduceTask 并发实例互不相干,但是他们的数据依赖于上一个阶段的所有 MapTask 并发实例的输出
  4. MapReduce 编程模型只能包含一个 Map 阶段和一个 Reduce 阶段,如果用户的业务逻辑非常复杂,那就只能多个 MapReduce 程序,串行运行。

2. MapReduce 进程

一个完整的 MapReduce 程序在分布式运行时有三类实例进程:

  1. MrAppMaster :负责整个程序的过程调度及状态协调
  2. MapTask :负责 Map 阶段的整个数据处理流程
  3. ReduceTask :负责 Reduce 阶段的整个数据处理流程

3. MapReduce 编程规范

用户编写的程序分为三个部分:MapperReducerDriver

  1. Mapper阶段

     	用户自定义的Mapper要继承自己的父类
     	Mapper的输入数据是KV对的形式(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值