提及大数据的工具,最广为人知的就是Hadoop和Spark了,Hadoop在上一篇文章中已经有所介绍,这期小编就为你们介绍后起之秀Spark。php
Spark是一个运算速度快如闪电的Apache项目,研发人员声称它是“一种用于数据大规模处理的快速通用引擎”,[A1] Spark是UC BerkeleyAMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具备的优势。[A2] html
它提供了一个运算速度快的通常化数据处理平台,可让你程序的内存计算速度提升到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了,那不是设计人员的初衷ide
[A2]来源科普Spark,Spark是什么,如何使用Spark;百度百科工具
[A3]来源:Apache Spark介绍及案例展现oop
[A4]来源:科普Spark,Spark核心是什么,如何使用Spark(2)http://www.aboutyun.com/thread-6850-1-1.html
[A5]来源:跟我一块儿数据挖掘(22)——spark入门
[A6]来源:别再比较Hadoop和Spark了,那不是设计人员的初衷
最终来源:启创方舟微信公众号