Use of MapReduce engin for Big
Data projects will decline,
replaced by Apache Spark
深圳移动Spark培训
C
O
N
T
E
N
T
S
1
2
3
4
5
6
7
8
9
Spark入门
Scala串讲
Spark核心编程模型
Spark内核深入
SparkSQL
SparkStreaming
Spark机器学习
Spark性能调优
Spark图计算Graphx
Spark入门
1
Spark简介
Spark简介
ü 2009年诞生于AMPLab
ü Apache Spark是一种快速、通用、可扩展的大数据分析引擎。
ü spark为分布式数据集的处理提供了一个有效框架,并以高效的方式处理分布
式数据集
ü spark强调一站式解决方案,集批处理、实时流处理、交互式查询与图计算于
一体,避免了多种运算场景下需要部署不同集群带来的资源浪费
Spark简介
ü spark可以将数据分析过程的中间输出保存在内存中,从而不需要从外部持久
化存储中反复读写数据,相较mapreduce能更好地适用于数据挖掘和机器学习
等需要迭代运算的场景
ü spark使用Scala语言开发,代码表现力强,封装了大量高级运算API,极大提高
数据处理的开发效率
ü spark已成为大数据领域和Apache软件基金会最活跃的项目之一
Hadoop之父Doug Cutting曾曰:
Use of MapReduce engin for Big Data projects will decline,replaced by Apache Spark
Spark简介:特性
ü 良好的容错性:在分布式数据集计算时通过checkpoint来实现容错,当某个运
算环节失败时,不需要从头开始重新计算
ü 开发便捷性:spark通过scala,java,python api及交互式shell提供丰富的使用
方式
ü 不适合细粒度更新操作:Spark的运算是面向集合的,不适用于需要异步细粒
度更新状态的应用,例如web服务的DAO层或web爬虫等
Spark入门
2
Spark软件栈及生态圈
Spark生态圈
Spark生态圈也称为BDAS(伯克利数据分析栈)
是伯克利AMPLab实验室打造的,力图在算法、机器、人之间通过大规模集成来展现大数据应
用的一个平台。
生态圈涉及到机器学习、
数据挖掘、数据库、信
息检索、自然语言处理
和语音识别等多个领域。
以Spark Core为核心,
从HDFS、Amazon S3和
HBase等持久层读取数
据,以MESS、YARN和
自身携带的Standalone
为资源管理器调度Job
完成Spark应用程序的计
算。
应用程序可以来自于不同的组件,如
•
Spark Shell/Spark Submit的批处理
•
Spark Streaming的实时处理应用
•
Spark SQL的即席查询
•
BlinkDB的权衡查询
• MLlib/MLbase的机器学习
• GraphX的图处理
•
SparkR的数学计算等等