spark系列博客-(1)初识spark
2015-05-12 11:52
423 查看
说明:本文是我从spark官方文档上翻译总结+个人理解的,如有不恰当和理解偏差的地方,请大家指出,一起交流学习!
翻译来源 http://spark.apache.org/docs/latest/programming-guide.html
1.每个spark应用均包含一个drive program作为当前应用的入口,每个spark应用的核心抽象就是RDD(resilient distributed dataset,用于并行操作集群上的节点的被划分的元素集合)。
2.RDD被创建的两种方式:
(1)由drive program内部存在的集合创建
(2)由外部文件系统创建(如:hdfs上的file)
3.Spark中的共享变量
说明:Spark中的共享变量常用于并行操作中,在应用中,一个变量需要在一个任务中或任务与drive program之间被共享。
Spark中提供了两种类型的共享变量:
(1)broadcast variables(在集群的所有节点上缓存到内存中的值)
(2)accumulators(计数操作,如:counters和sums)
4.spark应用程序中的核心对象SparkContext
SparkContext:spark应用程序的上下文环境,用于告诉应用如何去访问集群,如何对集群中的节点进行操作。
创建方法:new SparkContext(new SparkConf().setAppName(appName).setMaster(master))
说明:appName参数是用于显示在webUI上的当前spark应用的名字,master是部署运行当前应用程序的节点url。在创建一个新的SparkContext对象之前一定要将当前active状态的SparkContext对象stop()
5.Spark-shell
Spark-shell是spark包内置的一个交互式shell,当在spark安装目录下执行./spark-shell命令后,SparkContext对象自动创建(创建后对象的引用为sc),即可直接使用。
6.RDD操作
RDD支持两种类型的操作:
(1)transformations:转换操作,用于创建新的数据集。如:map、filter操作
(2)actions:响应操作,计算数据集后向drive program返回值。如:reduce、collect操作
说明:
(1)spark中所有的转换transformations操作均为lazy的(当采取transformations操作时不会立即计算,只是仅仅记住自己需要做的事情,除非当一个action操作发生时。这样的设计对于应用的运行效率会有相当大的提升)
(2)Spark默认的是:当在同一个RDD执行action操作时,每次被transformations的RDD可能会被重计算,因此,为了提升效率,spark中提供了缓存机制(利用cache方法,如:rdd.cache)。
翻译来源 http://spark.apache.org/docs/latest/programming-guide.html
1.每个spark应用均包含一个drive program作为当前应用的入口,每个spark应用的核心抽象就是RDD(resilient distributed dataset,用于并行操作集群上的节点的被划分的元素集合)。
2.RDD被创建的两种方式:
(1)由drive program内部存在的集合创建
(2)由外部文件系统创建(如:hdfs上的file)
3.Spark中的共享变量
说明:Spark中的共享变量常用于并行操作中,在应用中,一个变量需要在一个任务中或任务与drive program之间被共享。
Spark中提供了两种类型的共享变量:
(1)broadcast variables(在集群的所有节点上缓存到内存中的值)
(2)accumulators(计数操作,如:counters和sums)
4.spark应用程序中的核心对象SparkContext
SparkContext:spark应用程序的上下文环境,用于告诉应用如何去访问集群,如何对集群中的节点进行操作。
创建方法:new SparkContext(new SparkConf().setAppName(appName).setMaster(master))
说明:appName参数是用于显示在webUI上的当前spark应用的名字,master是部署运行当前应用程序的节点url。在创建一个新的SparkContext对象之前一定要将当前active状态的SparkContext对象stop()
5.Spark-shell
Spark-shell是spark包内置的一个交互式shell,当在spark安装目录下执行./spark-shell命令后,SparkContext对象自动创建(创建后对象的引用为sc),即可直接使用。
6.RDD操作
RDD支持两种类型的操作:
(1)transformations:转换操作,用于创建新的数据集。如:map、filter操作
(2)actions:响应操作,计算数据集后向drive program返回值。如:reduce、collect操作
说明:
(1)spark中所有的转换transformations操作均为lazy的(当采取transformations操作时不会立即计算,只是仅仅记住自己需要做的事情,除非当一个action操作发生时。这样的设计对于应用的运行效率会有相当大的提升)
(2)Spark默认的是:当在同一个RDD执行action操作时,每次被transformations的RDD可能会被重计算,因此,为了提升效率,spark中提供了缓存机制(利用cache方法,如:rdd.cache)。
相关文章推荐
- Git系列博客——(1)初识git
- spark系列博客-(2)spark基础(重要)
- Spark2.0机器学习系列之6: MLPC(多层神经网络)
- Hadoop概念学习系列之Hadoop、Spark学习路线(很值得推荐)(十八)
- CSDN博文精选:Android系列开发博客资源汇总
- spark系列case class学习
- CSDN博文精选:Android系列开发博客资源汇总
- Spark内核系列(一)Spark内核架构
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第三步)(1)
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第五步)(8)
- android跨平台开发系列之-初识webview(一)
- 更新博客系列
- Spring Boot系列(一):初识spring boot开发
- spark调度系列------3. RDD依赖的建立以及RDD依赖在任务提交到调度系统的作用
- 博客搭建系列三:如何使博客支持百度搜索
- 渣渣小本求职复习之路每天一博客系列——数据库基础(MySQL)(5)
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第五步)(12)
- 基于 Laravel 开发博客应用系列 —— 项目必备软件安装
- OO系统设计师之路--分析模型系列(2)--怎样做分析模型 [从老博客搬家至此]
- 倾情大奉送--Spark入门实战系列