spark RDD

RDD 是Resilient Distributed Datasets简称,翻译成中文为“弹性分布式数据集”,这个语义揭示了RDD实质上是存储在不同节点计算机中的数据集。
分布式存储最大的好处是可以让数据在不同的工作节点上并行存储,以便在需要数据的时候并行运算,从而获得最迅捷的运行效率。


RDD名称的秘密
Resilient 是弹性的意思。在Spark中,弹性指的是数据的存储方式,即数据在节点中进行存储的时候,既可以使用内存也可以使用磁盘。这为使用者
提供了很大的自由,提供了不同的持久化和运行方法。


除此之外,弹性还有一个意思,即RDD具有很强的容错性。这里容错性指的是spark在运行计算的过程中,不会因为某个节点错误,而使得整个任务失败。
不同的节点中并发运行的数据,如果在某一个节点发生错误时,RDD会自动将其在不同的节点中重试。

spark 的核心RDD
(1)RDD的定义 
  RDD(Resilient Distributed Datasets) 弹性分布式数据集。 其详细描述如下: 
  (a) RDD在抽象上来说是一种元素集合,包含了数据。它是被分区的,分为多个分区,每个分区分布在集群中的不同节点上,从而让RDD中的数据可以被并行操作。(分布式数据集)
   (b) RDD的数据默认情况下存放在内存中的,但是在内存资源不足时,Spark会自动将RDD数据写入磁盘。比如每个节点最多放5万数据,结果你每个partition是10万数据。那么就会把partition中的部分数据写入磁盘上,进行保存。(弹性)


(2)RDD操作特性
  RDD将操作分为两类:transformation与action。无论执行了多少次transformation操作,RDD都不会真正执行运算,只有当action操作被执行时,运算才会触发。而在RDD的内部实现机制中,底层接口则是基于迭代器的,从而使得数据访问变得更高效,也避免了大量中间结果对内存的消耗。 
   
(3)RDD的容错特性 
  RDD最重要的特性就是,提供了容错性,可以自动从节点失败中恢复过来。即如果某个节点上的RDD partition,因为节点故障,导致数据丢了,那么RDD会自动通过自己的数据来源重新计算该partition。这一切对使用者是透明的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值