说起大数据的工具,最广为人知的就是Hadoop和Spark了,Hadoop在上一篇文章中已经有所介绍,这期小编就为大家介绍后起之秀Spark。
Spark是一个运算速度快如闪电的Apache项目,研发人员声称它是“一种用于数据大规模处理的快速通用引擎”,[A1] Spark是UC BerkeleyAMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点。[A2]
它提供了一个运算速度快的一般化数据处理平台,可以让你程序的内存计算速度提高到100倍,或者磁盘计算速度(Hadoop)提高10倍。去年的Daytona GraySort比赛中,Spark只用了Hadoop十分之一数量的机器就实现了其三倍多的速度,目前,Spark已经成了处理PB级别数据运算速度最快的开源工具。[A3]
Spark核心概念是ResilientDistributed Dataset (RDD)弹性分布数据集,RDD实现了以操作本地集合的方式来操作分布式数据集的抽象实现。RDD是Spark最核心的东西,它表示已被分区,不可变的并能够被并行操作的数据集合,不同的数据集格式对应不同的RDD实现。RDD必须是可序列化的,可以cache到内存中,每次对RDD数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存中输入,省去了MapReduce大量的磁盘IO操作。这对于迭代运算比较常见的机器学习算法, 交互式数据挖掘来说,效率提升比较大。[A4]
以RDD为核心的Spark构架图如下
Spark在机器学习方面有着无与伦比的优势,特别适合需要多次迭代计算的算法。同时Spark拥有非常出色的容错和调度机制,确保系统的稳定运行[A5] ,而在易用性方面,更是大有名气,它随带易于使用的API,支持Scala(原生语言)、Java、Python和Spark SQL。SparkSQL非常类似于SQL 92,所以几乎不需要经历一番学习,马上可以上手。[A6]
Spark帮助人们简化了处理大规模数据的步骤流程,将许多复杂的功能(比如机器学习算法和图算法)无缝地结合起来,并以其快如闪电的计算速度,正在快速地扩大着自己的影响力,我们有理由相信,凭借Spark独特的优异性能,未来Spark必将会绽放出更为璀璨的光芒。
[A1]来源:别再比较Hadoop和Spark了,那不是设计人员的初衷
[A2]来源科普Spark,Spark是什么,如何使用Spark;百度百科
[A3]来源:Apache Spark介绍及案例展示
[A4]来源:科普Spark,Spark核心是什么,如何使用Spark(2)http://www.aboutyun.com/thread-6850-1-1.html
[A5]来源:跟我一起数据挖掘(22)——spark入门
[A6]来源:别再比较Hadoop和Spark了,那不是设计人员的初衷
最终来源:启创方舟微信公众号
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/190593.html