【大数据项目学习】第七章:MapReduce分布式计算框架

第七章:MapReduce分布式计算框架

一个初学者的大数据学习过程



1. MapReduce概述

1.1 产生背景

MapReduce 源之于Google的MapReduce论文。
 2004年12月份,谷歌发表了关于分布式计算框架MapReduce的论文。
 Nutch的开发人员根据该论文实现了自己的MapReduce分布式计算框架。

1.2 定义

MapReduce 是一个使用简单的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错式并行处理TB级别的数据集。

总的来说:MapReduce是面向大规模数据并行处理的计算模型、框架和平台。具体包含如下3个层面的含义:

 MapReduce是一个并行程序的设计模型与方法
 MapReduce是一个并行程序运行的软件框架
 MapReduce是一个基于集群的高性能并行计算平台

1.3 优缺点

  1. 优点
     易于编程
     良好的扩展性
     高容错性
     适合PB级别以上海量数据的离线处理

  2. 缺点
     实时计算
     流式计算
     DAG计算

1.4 基本设计思想

面向大规模数据处理,MapReduce有以下三个层面上的基本设计思想。

1.分而治之:对付大数据并行处理采用“分而治之”的设计思想。
在这里插入图片描述

2.抽象成模型:把函数式编程思想构建成抽象模型—Map和Reduce。
在这里插入图片描述

3.上升到构架:以统一构架为程序员隐藏系统底层细节。

  1. 计算任务的自动划分和调度。
  2. 数据的自动化分布存储和划分。
  3. 处理数据与计算任务的同步。
  4. 结果数据的收集整理(sorting,combining,partitioning等)。
  5. 系统通信、负载平衡、计算性能优化处理。
  6. 处理系统节点出错检测和失效恢复。

2. MapReduce编程模型

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

3. Wordcount 案例分析

 业务场景:有大量的文件,每个文件里面存储的都是单词。
 业务需求:统计所有文件中每个单词出现的次数。
 解决思路:先分别统计出每个文件中各个单词出现的次数;然后,再累加不同文件中同一个单词出现次数。

这就是典型的mapreduce编程模型所适合解决的问题。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值