spark基础知识二
2016-05-15 12:32
176 查看
偶然看到spark的一篇概述PPT,来自中国移动,总结的很清晰全面。
这里对其主要内容小结,加深理解。
spark历史:
2009年诞生于伯克利大学。
2014年成为apache顶级项目。
spark成为最为活跃的大数据处理平台和框架。
特点:
架构先进:采用简洁的scala语言,akka作为通信框架,DAG作为执行引擎减少计算中间结果写入到HDFS,统一抽象的RDD。
高效:内存计算模型,提供cache机制。
易用:提供20+数据处理方式,相比map、reduce多了很多;支持四种语言。
提供整体解决方案:包括Spark Streaming、MLlib、GraphX、SparkSQL.
与hadoop无缝对接:可以使用yarn,HDFS,Mesos,standalone。
整体架构分四层:由上到下
工具层:SQL、MLlib等
计算层:spark
存储层:HBase、HDFS
资源层:Yarn、Mesos、standalone
核心概念:
driver、job、executor。具体见下图。
流程:见下图
spark on standalone:
master/worker是standalone角色;Driver/executor是spark角色。
master负责分配资源;driver负责生成task、任务调度。
核心模块:
RDD、scheduler、storage、shuffler.具体见下图。
RDD持久化:
可以持久化在内存,也可以是磁盘,一般将的是内存,因为spark是内存计算模型。
可以设置storagelevel的类型。
不同级别的数据,持久化的效果不同,不一定都能提高效率。
持久化函数persist()、cache()。
RDD依赖关系:子RDD与父RDD之间的关系。具体见下图。
窄依赖可以进行流水线计算,加快计算,提高效率。宽依赖则不行,意味着要进行shuffle操作。
RDD容错机制:
transformation中,如果出现错误。
若是窄依赖,则重进计算即可。
若是宽依赖,则计算代价大,可以加入checkpoint。
sheculer:
DAGScheluder;taskScheduler.
sparkSQL:
支持SQL无缝查询。
支持多种数据源。
支持JDBC、ODBC。
与Hive兼容。
应用场景:
腾讯的广点通,广告推送。
淘宝的推荐系统。
参考文章:
1、http://wenku.baidu.com/link?url=Su3o-Z7FOkDdwrTD3CsWMWzPMaiDMkm93JoLYQwbVvO0mzT6z2jGkb6If4i0xycElDCz_2fDm_B1yyuYYICyZyXl7obOzIY0i8FeCLHfvgm
这里对其主要内容小结,加深理解。
spark历史:
2009年诞生于伯克利大学。
2014年成为apache顶级项目。
spark成为最为活跃的大数据处理平台和框架。
特点:
架构先进:采用简洁的scala语言,akka作为通信框架,DAG作为执行引擎减少计算中间结果写入到HDFS,统一抽象的RDD。
高效:内存计算模型,提供cache机制。
易用:提供20+数据处理方式,相比map、reduce多了很多;支持四种语言。
提供整体解决方案:包括Spark Streaming、MLlib、GraphX、SparkSQL.
与hadoop无缝对接:可以使用yarn,HDFS,Mesos,standalone。
整体架构分四层:由上到下
工具层:SQL、MLlib等
计算层:spark
存储层:HBase、HDFS
资源层:Yarn、Mesos、standalone
核心概念:
driver、job、executor。具体见下图。
流程:见下图
spark on standalone:
master/worker是standalone角色;Driver/executor是spark角色。
master负责分配资源;driver负责生成task、任务调度。
核心模块:
RDD、scheduler、storage、shuffler.具体见下图。
RDD持久化:
可以持久化在内存,也可以是磁盘,一般将的是内存,因为spark是内存计算模型。
可以设置storagelevel的类型。
不同级别的数据,持久化的效果不同,不一定都能提高效率。
持久化函数persist()、cache()。
RDD依赖关系:子RDD与父RDD之间的关系。具体见下图。
窄依赖可以进行流水线计算,加快计算,提高效率。宽依赖则不行,意味着要进行shuffle操作。
RDD容错机制:
transformation中,如果出现错误。
若是窄依赖,则重进计算即可。
若是宽依赖,则计算代价大,可以加入checkpoint。
sheculer:
DAGScheluder;taskScheduler.
sparkSQL:
支持SQL无缝查询。
支持多种数据源。
支持JDBC、ODBC。
与Hive兼容。
应用场景:
腾讯的广点通,广告推送。
淘宝的推荐系统。
参考文章:
1、http://wenku.baidu.com/link?url=Su3o-Z7FOkDdwrTD3CsWMWzPMaiDMkm93JoLYQwbVvO0mzT6z2jGkb6If4i0xycElDCz_2fDm_B1yyuYYICyZyXl7obOzIY0i8FeCLHfvgm
相关文章推荐
- Spark RDD API详解(一) Map和Reduce
- 使用spark和spark mllib进行股票预测
- Spark随谈——开发指南(译)
- Spark,一种快速数据分析替代方案
- eclipse 开发 spark Streaming wordCount
- Understanding Spark Caching
- ClassNotFoundException:scala.PreDef$
- Windows 下Spark 快速搭建Spark源码阅读环境
- Spark中将对象序列化存储到hdfs
- 使用java代码提交Spark的hive sql任务,run as java application
- Spark机器学习(一) -- Machine Learning Library (MLlib)
- Spark机器学习(二) 局部向量 Local-- Data Types - MLlib
- Spark机器学习(三) Labeled point-- Data Types
- Spark初探
- Spark Streaming初探
- Spark本地开发环境搭建
- 搭建hadoop/spark集群环境
- Spark HA部署方案
- Spark HA原理架构图
- spark内存概述