Driver Program
Spark应用程序以独立进程集的方式在集群上运行,由主程序(driver program)中的SparkContext对象协调。
driver program 包含程序的main()方法, RDDs的定义和操作
SparkContext
Driver programs 通过SparkContext对象访问Spark, SparkContext对象代表和一个集群的连接
在Shell 中SparkContext 自动创建好了, 也就是sc
RDDs
Resilient distributed datasets(弹性分布式数据集 简写RDDs)
RDDs 并行分布与整个集群中
比如上面lines 读取的是一个庞大的文件, 那lines 这个RDD里面的内容被切分很多块分布在整个集群中, 而不是一个机器上
RDDs是Spark分发数据和计算的基础抽象类
一个RDD是一个不可改变的分布式集合对象, 创建之后无法更改,只能转换生成新的RDD
Spark中所有计算都是通过RDD创建、转换、操作完成的
一个RDD内部由许多partitions(分片)组成, 每个分片包含一部分数据, partitions 可在集群不同节点上计算
分片分发Spark并行处理的但愿, Spark顺序的,并行的分片处理
RDDs的创建方法
1、通过方法parallelize()
val rdd = sc.parallelize(Array(1,2,3,4,4), 5)
第一个参数:待并行化处理的集合, 第二个参数:分区个数
2、加载外部数据集
val rddText = sc.textFile("data.txt")