首页 > 其他 > 详细

mapreduce和spark的原理及区别

时间:2016-12-06 23:28:59      阅读:554      评论:0      收藏:0      [点我收藏+]

Mapreducespark是数据处理层两大核心,了解和学习大数据必须要重点掌握的环节,根据自己的经验和大家做一下知识的分享。

技术分享

首先了解一下Mapreduce,它最本质的两个过程就是MapReduceMap的应用在于我们需要数据一对一的元素的映射转换,比如说进行截取,进行过滤,或者任何的转换操作,这些一对一的元素转换就称作是MapReduce主要就是元素的聚合,就是多个元素对一个元素的聚合,比如求Sum等,这就是Reduce

MapreduceHadoop1.0的核心,Spark出现慢慢替代Mapreduce。那么为什么Mapreduce还在被使用呢?因为有很多现有的应用还依赖于它,它不是一个独立的存在,已经成为其他生态不可替代的部分,比如pighive等。

  尽管MapReduce极大的简化了大数据分析,但是随着大数据需求和使用模式的扩大,用户的需求也越来越多:

1.    更复杂的多重处理需求(比如迭代计算, ML, Graph);

2.    低延迟的交互式查询需求(比如ad-hoc query

MapReduce计算模型的架构导致上述两类应用先天缓慢,用户迫切需要一种更快的计算模型,来补充MapReduce的先天不足。

Spark的出现就弥补了这些不足,我们来了解一些Spark的优势:

1.每一个作业独立调度,可以把所有的作业做一个图进行调度,各个作业之间相互依赖,在调度过程中一起调度,速度快。

2.所有过程都基于内存,所以通常也将Spark称作是基于内存的迭代式运算框架。

3.spark提供了更丰富的算子,让操作更方便。

4.更容易的API:支持PythonScalaJava

其实spark里面也可以实现Mapreduce,但是这里它并不是算法,只是提供了map阶段和reduce阶段,但是在两个阶段提供了很多算法。如Map阶段的map, flatMap, filter, keyByReduce阶段的reduceByKey, sortByKey, mean, gourpBy, sort等。

以上就是和大家做的一个知识分享,只是个人的一些见解,对于具体概念的知识方面大家可以私下里去学习一下,有时间也可以去关注一下“大数据cn”和“大数据时代学习中心”这些微信公众服务号,里面介绍的一些大数据发展趋势,大数据知识以及分享的一些资料,都挺不错的,建议关注看看,期望大家都可以有所进步!


本文出自 “11872756” 博客,谢绝转载!

mapreduce和spark的原理及区别

原文:http://11882756.blog.51cto.com/11872756/1880017

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!