Spark Core :RDD与Spark流水线编程模型
2018-01-10 10:08
337 查看
学会使用Spark中创建RDD的两种方法
列出创建Spark程序的步骤
结合本文内容解释“不可变性”
能将Spark程序翻译成“变换”和“行为”的流水线
从文件创建时,使用sc.textFile()方法,如
从数据结构创建时,使用sc.parallelize()方法,如
Spark中有两种操作,Transformation和Action。Spark程序有一种叫lazy evaluation的执行机制,即并不立即执行Transformation,等到一个Action执行时再一并执行Transformation。在前一篇大数据处理流水线中有提到一些常见的Transformation,如下图中的filter、map和reduce。相应的,collect和saveAsTextFile都是Action。
immutable意味着RDD是不可变的,只读的。前面提到Spark会追踪每个文件分片的历史,当某一个文件分片损坏或丢失时,Spark会根据该文件分片所需的文件重新计算、创建该分片。
Immutable对追踪应用到数据集上的所有操作很有必要,它提供了维护一个RDD的线性链的能力。
结合本文内容解释“不可变性”
列出创建Spark程序的步骤
结合本文内容解释“不可变性”
能将Spark程序翻译成“变换”和“行为”的流水线
RDD的创建方法
Driver Program 是Spark程序的起点,它把RDD分发到集群并保证RDD的转化和动作的执行。Driver Program 中包含一个Spark Context,而每个Work Node中包含一个Spark Executor。RDD既可以从文件或集群中创建,也可以从数据结构中创建。从文件创建时,使用sc.textFile()方法,如
#从hdfs内的文件创建 lines = sc.textFile("hdfs:/root/words.txt") #从本地文件创建 lines = sc.textFile("/root/words.txt")
从数据结构创建时,使用sc.parallelize()方法,如
#从list创建 lines = sc.parallelize(["big","data"]) #并发地将[0,1,2,3...9]分割成三部分 numbers = sc.parallelize(range(10),3) #结果为[0,1,2],[3,4,5],[6,7,8,9] #合并 number.collect() #结果为[0,1,2,3...9]
流水线编程模型
Spark中有两种操作,Transformation和Action。Spark程序有一种叫lazy evaluation的执行机制,即并不立即执行Transformation,等到一个Action执行时再一并执行Transformation。在前一篇大数据处理流水线中有提到一些常见的Transformation,如下图中的filter、map和reduce。相应的,collect和saveAsTextFile都是Action。
RDD的不可变性immutable
immutable意味着RDD是不可变的,只读的。前面提到Spark会追踪每个文件分片的历史,当某一个文件分片损坏或丢失时,Spark会根据该文件分片所需的文件重新计算、创建该分片。Immutable对追踪应用到数据集上的所有操作很有必要,它提供了维护一个RDD的线性链的能力。
结合本文内容解释“不可变性”
相关文章推荐
- Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)
- Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)
- Spark编程模型(RDD编程模型)
- spark编程模型(二):RDD详解
- Spark RDD/Core 编程 API入门系列之简单移动互联网数据(五)
- Spark RDD/Core 编程 API入门系列之动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战(二)
- Spark RDD/Core 编程 API入门系列 之rdd实战(rdd基本操作实战及transformation和action流程图)(源码)(三)
- Spark--RDD编程模型
- Spark RDD/Core 编程 API入门系列之map、filter、textFile、cache、对Job输出结果进行升和降序、union、groupByKey、join、reduce、look
- Spark RDD/Core 编程 API入门系列之map、filter、textFile、cache、对Job输出结果进行升和降序、union、groupByKey、join、reduce、lookup(一)
- Spark RDD/Core 编程 API入门系列之简单移动互联网数据(五)
- Spark编程模型(RDD编程模型)
- Spark编程模型RDD设计以及运行原理
- Spark分布式计算和RDD模型研究
- 【spark 深入学习 06】RDD编程之旅基础篇02-Spaek shell
- Spark视频第7期:Deep in Spark Core:RDD、Job、Scheduling(如何一次性掌握Spark 绝大部分的精髓?)
- Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
- Spark修炼之道(进阶篇)——Spark入门到精通:第四节 Spark编程模型(一)
- spark 中的RDD编程 -以下基于Java api
- 3.Spark SQL:使用反射方式、编程方式,将RDD转换为DataFrame