【大数据】【Hadoop】1、MapReduce编程模型

文章目录

一、概念

Hadoop 系统支持 MapReduce 编程模型,这个编程模型由谷歌公司发明,该模型可以利用由大量商用服务器构成的大规模集群来解决处理千兆级数据量的问题。MapReduce 模型有两个彼此独立的步骤,这两个步骤都是可以配置并需要用户在程序中自定义:

  • Map:数据初始读取和转换步骤,在这个步骤中,每个独立的输入数据记录都进行并行处理。
  • Reduce:一个数据整合或者加和的步骤。在这个步骤中,相关联的所有数据记录要放在一个计算节点来处理。

Hadoop 系统中的 MapReduce 核心思路是,将输入的数据在逻辑上分割成多个数据块,每个逻辑数据块被 Map 任务单独地处理。数据块处理后所得结果会被划分到不同的数据集,且将数据集排序完成。每个经过排序的数据集传输到 Reduce 任务进行处理。
在这里插入图片描述

一个 Map 任务可以在集群的任何计算节点上运行,多个 Map 任务可以并行地运行在集群上。Map 任务的主要作用就是把输人的数据记录(input records)转换为一个个的键值对。所有 Map 任务的输出数据都会进行分区,并且将每个分区的数据排序。每个分区对应一个Reduce 任务。每个分区内已排好序的键和与该键对应的值会由一个 Reduce 任务处理。有多个Reduce 任务在集群上并行地运行。

一般情况下,应用程序开发者根据 Hadoop 系统的框架要求,仅需要关注以下四个类:

  • 一个类是用来读取输入的数据记录,并将每条数据记录转换成一个键值对;
  • 一个 Mapper 类
  • 一个 Reducer 类
  • 一个类是将 Reduce 方法输出的键值对转换成输出记录进行输出。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值