1)Spark是什么
Spark,是一种“One Stack to rule them all”的大数据计算框架,是一种基于内存计算的框架,是一种通用的大数据快速处理引擎。
这一站式的计算框架,包含了Spark RDD(这也是Spark Core用于离线批处理)、Spark SQL(交互式查询)、Spark Streaming(实时流计算)、MLlib(机器学习)、GraphX(图计算)等重要处理组件。
当我们拥有了这个强大的一站式计算框架后,将会给我们开发与管理减轻了很多问题,如搭建管理维护、多技术学习成本与压力。
如果你有Hadoop基础,就很好理解完成上述处理都需要Hadoop生态圈中的哪些组件来完成了,离线批处理(MapReduce)、交互式查询(Hive)、实时流计算(Storm)、机器学习(Mahout)等等。
Spark除了这一站式的特点之外,还有一个很重的特点,就是基于内存计算,从而让它的计算速度可以达到MapReduce\Hive的数倍甚至数十倍高。这也是很多大公司在处理量级庞大的数据时候所青睐的计算框架。
说明:
a、Spark诞生并不是为了替代Hadoop,而是替换Hadoop框架的某些计算框架(MR)和查询引擎(Hive中的查询引擎)。b、Spark的核心是一种新的大数据内存计算框架,可以基于Hadoop的存储(HDFS)与资源管理器(YARN)之上的计算框架。
简单对Spark与MapReduce进行比较:
由于Hive底层还是MapReduce,这里就不进行多阐述了。
2)Spark发展史
,Spark诞生于伯克利大学的AMPLab实验室的项目
,伯克利大学进行正式开源了Spark项目
,Spark成为了Apache基金会下的项目,进入高速发展期。第三方开发者贡献了大量的代码,活跃度非常高
,Spark以飞快的速度成为了Apache的顶级项目
5月,Spark 1.0.0版本发布
,Spark在国内IT行业变得愈发火爆,大量的公司开始重点部署或者使用Spark来替代MapReduce、Hive、Storm等传统的大数据计算框架
7月,Spark2.0.0版本发布
至今,Spark 2.3.0为最新版本
3)Spark的特点
速度快:Spark基于内存进行计算(当然也有部分计算基于磁盘,比如shuffle)。
容易上手开发:Spark的基于RDD的计算模型,比Hadoop的基于Map-Reduce的计算模型要更加易于理解,更加易于上手开发,实现各种复杂功能,比如二次排序、topN等复杂操作时,更加便捷。
超强的通用性:Spark提供了Spark RDD、Spark SQL、Spark Streaming、Spark MLlib、Spark GraphX等技术组件,可以一站式地完成大数据领域的离线批处理、交互式查询、流式计算、机器学习、图计算等常见的任务。
集成Hadoop:Spark并不是要成为一个大数据领域的“独裁者”,一个人霸占大数据领域所有的“地盘”,而是与Hadoop进行了高度的集成,两者可以完美的配合使用。Hadoop的HDFS、Hive、HBase负责存储,YARN负责资源调度;Spark复杂大数据计算。实际上,Hadoop+Spark的组合,是一种“double win”的组合。
极高的活跃度:Spark目前是Apache基金会的顶级项目,全世界有大量的优秀工程师是Spark的committer。并且世界上很多顶级的IT公司都在大规模地使用Spark。
看到这里想必你也大致了解Spark技术了,后面我们将一起探索Spark之谜。基于这几年工作中使用到的Spark技术来分析讲解,通过实战方式来分享。
希望对你我他有用
有不足之处请多多指教
欢迎留言评论!!!
欢迎关注【大数据之谜】