走进Spark--云计算大数据新一代技术
什么是Spark?
当然这里说的Spark指的是Apache Spark, Apache Spark™ is a fast and general engine for large-scale data processing: 一种快速通用可扩展的数据分析引擎。如果想要搞清楚Spark是什么,那么我们需要知道它解决了什么问题,还有是怎么解决这些问题的。
Spark解决了什么问题?
在这里不得不提大数据,大数据有两个根本性的问题,一个是数据很大,如何存储?另外一个是数据很大,如何分析?毕竟分析大数据是为了改善产品的用户体验,从而获取更多的价值。
对于第一个问题,开源社区给出的方案就是HDFS,一个非常优秀的分布式存储系统。
对于第二个问题,在Hadoop之 后,开源社区推出了许多值得关注的大数据分析平台。这些平台范围广阔,从简单的基于脚本的产品到与Hadoop 类似的生产环境。Bashreduce在 Bash环境中的多个机器上执行 MapReduce 类型的操作,可以直接引用强大的Linux命令。GraphLab 也是一种MapReduce 抽象实现,侧重于机器学习算法的并行实现。还有Twitter 的 Storm(通过收购 BackType 获得)。Storm 被定义为 “实时处理的 Hadoop”,它主要侧重于流处理和持续计算。
Spark就是解决第二个问题的佼佼者。
Why Spark?
现在有很多值得关注的大数据分析平台,那么为什么要选择Spark呢?
速度
与Hadoop的MapReduce相比,Spark基于内存的运算比MR要快100倍;而基于硬盘的运算也要快10倍!
易用
Spark支持Java,Python和Scala。而且支持交互式的Python和Scala的shell,这意味这你可以非常方便的在这些shell中使用Spark集群来验证你的解决问题的方法,而不是像以前一样,打包。这对于原型开发非常重要!
Hadoop的WorldCount的Mapper和Reducer加起来要20多行吧。Spark仅需要:

甚至可以将它们放到一行。
通用性
Spark提供了All in One的解决方案!
Spark All In One的解决方案非常具有吸引力,毕竟任何公司都想要Unified的平台去处理遇到的问题,可以减少开发和维护的人力成本和部署平台的物力成本。
当然还有,作为All in One的解决方案,Spark并没有以牺牲性能为代价。相反,在性能方面,Spark还有很大的优势。
和Hadoop的集成
Spark可以使用YARN作为它的集群管理器,并且可以处理HDFS的数据。这对于已经部署Hadoop集群的用户特别重要,毕竟不需要做任何的数据迁移就可以使用Spark的强大处理能力。Spark可以读取 HDFS , HBase , Cassandra 等一切Hadoop的数据。
当然了对于没有部署并且没有计划部署Hadoop集群的用户来说,Spark仍然是一个非常好的解决方法,它还支持 standalone , EC2 和 Mesos 。你只要保证集群的节点可以访问共享的内容,比如通过NFS你就可以非常容易的使用Spark!
Spark的现状与未来
值得庆祝的里程碑:
· 2009:Spark诞生于AMPLab
· 2010:开源
· 2013年6月:Apache孵化器项目
· 2014年2月:Apache顶级项目
· Hadoop最大的厂商Cloudera宣称加大Spark框架的投入来取代Mapreduce
· Hadoop厂商MapR投入Spark阵营
· Apache mahout放弃MapReduce,将使用Spark作为后续算子的计算平台
· 2014年5月30日Spark1.0.0发布
走进Spark--云计算大数据新一代技术的更多相关文章
- 王家林 Spark公开课大讲坛第一期:Spark把云计算大数据速度提高100倍以上
王家林 Spark公开课大讲坛第一期:Spark把云计算大数据速度提高100倍以上 http://edu.51cto.com/lesson/id-30815.html Spark实战高手之路 系列书籍 ...
- 一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了
一文看懂大数据的技术生态圈,Hadoop,hive,spark都有了 转载: 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它 ...
- 如何成为云计算大数据Spark高手
Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库.流处理和图计算等多种计算范式,是罕见的全能选手. ...
- 【互动问答分享】第15期决胜云计算大数据时代Spark亚太研究院公益大讲堂
"决胜云计算大数据时代" Spark亚太研究院100期公益大讲堂 [第15期互动问答分享] Q1:AppClient和worker.master之间的关系是什么? AppClien ...
- 【互动问答分享】第13期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第13期互动问答分享] Q1:tachyon+spark框架现在有很多大公司在使用吧? Yahoo!已经在长期大规模使用: 国内也有 ...
- 【互动问答分享】第10期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第10期互动问答分享] Q1:Spark on Yarn的运行方式是什么? Spark on Yarn的运行方式有两种:Client ...
- 【互动问答分享】第8期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第8期互动问答分享] Q1:spark线上用什么版本好? 建议从最低使用的Spark 1.0.0版本,Spark在1.0.0开始核心 ...
- 【互动问答分享】第7期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第7期互动问答分享] Q1:Spark中的RDD到底是什么? RDD是Spark的核心抽象,可以把RDD看做“分布式函数编程语言”. ...
- 【互动问答分享】第6期决胜云计算大数据时代Spark亚太研究院公益大讲堂
“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第6期互动问答分享] Q1:spark streaming 可以不同数据流 join吗? Spark Streaming不同的数据流 ...
随机推荐
- P3539 [POI2012]ROZ-Fibonacci Representation
题目描述 The Fibonacci sequence is a sequence of integers, called Fibonacci numbers, defined as follows: ...
- SRM710 div1 MagicNim(博弈论)
题目大意: 给出n+1堆石子,前n堆石子的数量是a[i],最后一堆只有1个石子,但是具有魔力 拿走该石子的一方可以选择接下来是进行普通的Nim游戏还是anti-nim游戏 问是先手必胜还是必败 首先拿 ...
- arc073 F many moves(dp + 线段树)
设dp[i][y]表示一个点在x[i],另一个点在y时最小要走的步数 那么有以下转移 对于y != x[i-1]的状态,可以证明,他们直接加|x[i] - x[i-1]|即可(如果有其他方案,不符合对 ...
- IIS注册asp.net4.0
1. 运行->cmd 2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 3. aspnet_regiis.exe -i
- 使用def文件简化dll导出
原文链接地址:http://www.cnblogs.com/TianFang/archive/2013/05/04/3059073.html 在C++中,我们可以通过 __declspec(dllex ...
- jsp电子商务 购物车实现之三 购物车
CartServlet参考代码 : public void doPost(HttpServletRequest req, HttpServletResponse resp) throws Servle ...
- [ST表/贪心] NOI2010 超级钢琴
[NOI2010]超级钢琴 题目描述 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出n个音符,编号为1至n.第i ...
- [hdu 4348]区间修改区间查询可持久化线段树
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4348 一开始把lazy标记给push_down了,后来发现这样会让持久化变乱,然后想到不用push_d ...
- 7月16号day8总结
今天学习过程和小结 1.列举Linux常用命令 shutdown now Linux关机 rebot重启 mkdir mkdir -p递归创建 vi/touth filename rm -r file ...
- HDU 1395
2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...