spark之RDD详解----五大特性

 我来答
京斯年0GZ
2022-07-17 · TA获得超过6205个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:74.2万
展开全部

spark Github : https://github.com/apache/spark/
RDD: 让开发者大大降低开发分布式应用程序的门槛以及执行效率。

RDD源码: https://github.com/apache/spark/tree/master/core/src/main/scala/org/apache/spark/rdd

弹性:代表着spark在分布式计算的时候,可以容错 ---计算层面
分布式:把一份数据拆分成多份,在各个节点上并行的运行,他们之间没有任何的依赖关系
数据集:一个文件就是一个数据集

partitioned collection of elements :数据可以拆分成分区
that can be operated on in parallel.:每个分区的内容可以并行的被操作
解释:
RDD(1,2,3,4,5,6,7,8,9) 假如需要 + 1
那么数据被分成三个分区,只要每个分区上的内容都执行+1的操作就可以
Hadoop001: (1,2,3) +1
Hadoop002: (4,5,6) +1
Hadoop003: (7,8,9) +1

@transient private var sc: SparkContext,
@transient private var deps: Seq[Dependency[ ]]
) extends Serializable with Logging {

(1)抽象类:RDD必然是由子类实现的,我们使用的直接使用其子类即可
(2)Serializable:可以序列化
(3)Logging:spark1.6可以使用,spark2.0之后不可以使用
(4)T:存储各种数据类型
(5)SparkContext
(6)@transient

大数据里面一般是移动数据不是移动计算,所以数据本地化计算这样性能更高。

def compute(split: Partition, context: TaskContext): Iterator[T]
RDD计算是对RDD里面的分区做计算,所以传入split: Partition 对应的RDD特点第二点

protected def getPartitions: Array[Partition]:
拿到分区,RDD是由一系列的分区构成,所以得到的一定是分区 Array[Partition] 对应着第一大特点
......

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式