Spark大数据分析 课件 1.2 Spark简介.pptx
Spark简介
Spark的历史与发展
Spark组件
Spark特性
Spark特性
应
易用性
·Spark不仅计算性能突出,在易用性方面也是其他同类产品难以比拟的。一方面,Spark提供了支持多种语言的API,如Scala、Java、Python、R等,使得用户开发Spark程序十分方便。另一方面,Spark是基于
Scala语言开发的,由于Scala是一种面向对象的、函数式的静态编程语言,其强大的类型推断、模式匹配、隐式转换等一系列功能结合丰富的描述能力使得Spark应用程序代码非常简洁。Spark的易用性还体现在其针
运行速度快
·面向磁盘的MapReduce受限于磁盘读/写性能和网络
I/0性能的约束,在处理迭代计算、实时计算、交互式数据查询等方面并不高效,但是这些却在图计算、数据挖掘和机器学习等相关应用领域中非常常见。针对这一不足,将数据存储在内存中并基于内存进行计算是一个有效的解决途径。
Speed
Runworkloads100xfaster.
ApacheSparkachleveshighperformanceforbothbatchand
streamingdata,usingastate-oF-the-artDAGscheduler,aqueryoptimizer,andaphysicalexecutionengine.
110
90
60
30
0.9
0
LogisticregressioninHadoopandSpark
Spark特性
对数据处理提供了丰富的操作。
■Hadoop■Spark
Runningtime(s)
120
·相对于第一代的大数据生态系统Hadoop中的
MapReduce,Spark无论是在性能还是在方案的统一
性方面,都有着极大的优势。Spark框架包含了多个紧密集成的组件,如图1-5所示。位于底层的是Spark
Core,其实现了Spark的作业调度、内存管理、容错、与存储系统交互等基本功能,并针对弹性分布式数据集提供了丰富的操作。在SparkCore的基础上,Spark提供了一系列面向不同应用需求的组件,主要有SparkSQL、SparkStreaming、MLlib、GraphX。
·Spark不仅计算性能突出,在易用性方面也是其他同类产品难以比拟的。一方面,Spark提供了支持多种语言的API,如Scala、Java、Python、R等,使得用户开发Spark程序十分方便。另一方面,Spark是基于
Scala语言开发的,由于Scala是一种面向对象的、函数式的静态编程语言,其强大的类型推断、模式匹配、隐式转换等一系列功能结合丰富的描述能力使得Spark
应用程序代码非常简洁。Spark的易用性还体现在其针对数据处理提供了丰富的操作。
Generality
CombineSQL,streaming,andcomplexanalytics.
SparkpowersastackoflibrariesincludingSQLandDataFrames,MLbformachineleaming.GaphxandsparkSteamingYoucancombinetheselibrariesseamlesstyinthesameapplkcation.
SparkSpark
SOLe
Apache
MLib
machineeaning)
Spark
Graphx
oraph)
通用性
支持多种资源管理器
Spark特性
Spark的历史与发展
Spark发展历程:
Spark在2009年由MateiZaharia在加州大学柏克莱分校AMPLab
开创
2010年通过BSD许可协议开源发布。
2013年6月,该项目被捐赠给Apache软件基金会并切换许可协议至Apache2.0。
2014年2月,Spark成为Apache的顶级项目。
2014年11月,Databricks团队使用Spark刷新数据排序世界记录
2014年5月底Spark1.0.0发布。
2014年9月Spark1.1.0发布
2014年12月Spark1.2.0发布
S