MapReduce优缺点
MapReduce优缺点
一、优点
1)MapReduce 易于编程
它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的机器上运行。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。就是因为这个特点使得MapReduce编程变得非常流行。
2)良好的扩展性
当你的计算资源不能得到满足的时候,你可以通过简单的增加机器来扩展它的计算能力。
3)高容错性
MapReduce设计的初衷就是使程序能够部署在廉价的机器上,这就要求它具有很高的容错性。比如其中一台机器挂了,它可以把上面的计算任务转移到另外一个节点上运行,不至于这个任务运行失败,而且这个过程不需要人工参与,而完全是由Hadoop内部完成的。
4)适合PB级以上海量数据的离线处理
可以实现上千台服务器集群并发工作,提供数据处理能力。
二、缺点
1)不擅长实时计算
MapReduce无法像MySQL一样,在毫秒或者秒级内返回结果。
2)不擅长流式计算
流式计算的输入数据是动态的,而MapReduce的输入数据集是静态的,不能动态变化。这是因为MapReduce自身的设计特点决定了数据源必须是静态的。
3)不擅长DAG(有向图)计算
多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出。在这种情况下,MapReduce并不是不能做,而是使用后,每个MapReduce作业的输出结果都会写入到磁盘,会造成大量的磁盘IO,导致性能非常的低下。
三、总结
MapReduce虽然有诸多缺点,但它确实分布式计算的鼻祖,后期流行的离线数仓Hive底层也是基于MapReduce程序,实时计算框架Spark、Flink也或多或少借鉴了MapReduce的设计原理,只不过对中间计算结果在数据存储方面做出了改进。
MapReduce优缺点相关推荐
- MapReduce骚气分析
MapReduce分析 一. MapReduce定义 二.MapReduce优缺点 三.MapReduce工作原理 一.MapReduce定义 MapReduce是一个并行计算与运行软件框架(Soft ...
- MapReduce 概述
1. MapReduce 定义 MapReduce 是一个分布式运算程序的编程框架,是用户开发"基于Hadoop的数据分析应用"的核心框架. MapReduce 核心功能是将用户编 ...
- mapreduce value 排序_MapReduce知识点一
MapReduce 优缺点 MapReduce 分布式运算程序的编程框架优点:使分布式编程变得简单,高容错性,适合PB级以上的数据处理缺点: 不适合实时计算 MapReduce流程 客户端submit ...
- Hadoop之MapReduce入门
Hadoop之MapReduce概述 目录 MapReduce定义 MapReduce优缺点 MapReduce核心思想 MapReduce进程 MapReduce编程规范 MapReduce案例实操 ...
- MapReduce案例
大数据技术之Hadoop(Map-Reduce) 一 MapReduce入门 1.1 MapReduce定义 Mapreduce是一个分布式运算程序的编程框架,是用户开发"基于hadoop的 ...
- Hadoop——MapReduce(3)
MapReduce:自己处理业务相关代码 + 自身的默认代码 文章目录 1.MapReduce优缺点 2.MapReduce进程 3.序列化 4 InputFormat数据输入 4.1 切片与MapT ...
- Hadoop生态之Mapreduce
今天给大家带来的是Hadoop生态中的Mapreduce,看到这里诸佬们可能就有疑惑了呢,啥是Mapreduce?小小的脑袋大大的疑惑. 在上篇博客中博主使用了王者来举例子,如果把Hadoop当作王者 ...
- MapReduce入门(一)—— MapReduce概述 + WordCount案例实操
MapReduce入门(一)-- MapReduce概述 文章目录 MapReduce入门(一)-- MapReduce概述 1.1 MapReduce 定义 1.2 MapReduce 优缺点 1. ...
- hadoop之MapReduce学习教程
hadoop之MapReduce学习 MapReduce概述 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发"基于Hadoop的数据分析应用" ...
- hadoop之mapreduce教程+案例学习(一)
第1章 MapReduce概述 目录 第1章 MapReduce概述 1.1 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发"基于Hadoop的数据分析 ...
最新文章
- 科研成果汇总:收获的季节
- Openstack_单元测试
- 1.17 选择排序法
- Linux Perl 升级
- 工作198:无法选中的状态一定要绑定在select上面
- 基于matlab 的燃油喷雾图像处理方法,基于MATLAB的燃油喷雾图像处理方法.doc
- 组建实验室仅3年,团队人均26岁,这位85后女博导成果登上Nature!
- Unity3D调用摄像头显示当前拍摄画面
- Word2Vec学习笔记(一)
- 数据结构之图的应用:拓扑排序
- Flutter GetX 状态管理 使用入门 程序计数器 (二)
- linux需要多少空间安装mysql_如何安装MySQL
- 在Word 2007中轻松插入或创建表格
- ERROR:The requested URL could not be retrieved解决方法
- Sueetie源代码发布【 推荐 】
- matlab 无法终止,Matlab使用xlsread, xlswrite函数导致excel进程无法终止的问题
- 三维空间坐标系变换——旋转矩阵
- 把汇总报表页面生成 pdf文件方案!
- Magento(CE1.X)自带模块解析七
- 【答读者问5】如何实现以当天收盘价交易?
热门文章
- python 使用公司邮箱发邮件_python3使用腾讯企业邮箱发送邮件的实例
- java报错symbol_java 报错cannot resolve symbol问题
- 网站中qq 跳转 和qq群问题
- EasyBoot制作中文启动菜单教程
- Import “github.com/gogo/protobuf/gogoproto/gogo.proto“ was not found or had errors.
- 陈敏 Java课设实验报告
- delphi编程实现免杀捆绑
- ubuntu 装机必备软件
- Flickr网站架构分析
- APP游戏运营:如何运用数据来指导手游运营