二 SparkContext-RDD

来源:互联网 发布:如何找淘宝客推广 编辑:程序博客网 时间:2024/06/05 04:55

SparkContext
类名:org.apache.spark.SparkContext
是Spark的上下文对象,是spark程序的主入口点,负责连接到spark cluster
可用于创建RDD,在集群上创建累加器和广播变量
每个jvm只能激活一个SparkContext对象,创建新的spark对象时,必须stop掉原来的对象

这里写图片描述
SparkContext可以与不同种类的集群资源管理器(cluster manager),如Hadoop yarn,进行通信,从而分配到程序运行所需的资源,获得程序运行所需资源后,SparkContext将得到集群中其它工作节点(worker node)上对应的executors(不同的spark应用程序有不同的executor,它们之间也是独立的进程,executor为应用程序提供分布式计算和数据存储功能),之后SparkContext将应用程序代码分发给各executors,最后将任务分配给executors执行。

RDD(弹性分布式数据集)
类名:org.apache.spark.rdd.RDD
RDD是一个容错的,并行的数据结构,该类包含了可用于与所有RDD之上的基本操作,如map,filter,这个数据集的全部或部分可以缓存在内存中,在多次计算中重用

在RDD内部,每个RDD有5个特性:
- 有一个分区列表
- 每个split都有一个计算函数
- 存放parent的RDD依赖列表
- (可选)基于key-value的分区器
- (可选)首选的位置列表

spark集群中的所有调度和执行都是基于RDD

spark和RDD之间的关系?
RDD是一种具有容错性基于内存的集群计算抽象方法,spark是这个抽象方法的实现。

参考:http://blog.csdn.net/lovehuangjiaju/article/details/48580863

0 0
原创粉丝点击