大数据Spark中对RDD的理解

大数据开发技术在各大公司企业中一直备受关注,因此想要参加大数据培训学习大数据开发技术的人有很多,本篇文章小编就给读者们分享一下大数据Spark中对RDD的理解。RDD(Resilient Distributed Datasets),RDD是一个弹性分布式数据集,是分布式内存的一个抽象概念,提供了一种高度受限共享内存模型。关于大数据Spark中对RDD的理解,现在分享给大家。

大数据Spark中对RDD的理解

 

RDD的特性:

1、分片的数据集(list of partiton)

假设要读取HDFS上的数据,每个block块就是一个分片(partiton),所有的分片(partiton)组合在一起就是一个集合(list) 一个RDD。

2、在分片中使用函数计算(function for computing each partiton)

现在假设我们有map的函数,和一个RDD,这个RDD中有3个partiton,那么这个map函数会在每个partiton之上的进行计算。

计算完毕后,又组成一个新的RDD,以迭代的方式进行计算。

3、数据集依赖RDD

从2.在分片中使用函数计算可以看出。

首先RDD1初始化的时候是在HDFS系统中读出来的数据,然后通过map函数在partiton进行计算又组成了一个新的RDD2,这样我们可以得出结论RDD都是有依赖关系的。依赖的好处就是有容错,假设RDD2中的partiton数据丢失了,可以重新在RDD1中计算过来。

4、KV的RDD

如果RDD中的元素是二元组类型的话,那么这个RDD就叫KV格式的RDD

5、task计算数据本地化

task理解为是一个线程,在任务调度的时候RDD会提供一个接口给我们调用,知道partiton所在的位置之后就分发task让其执行任务。

Driver的作用:

1、负责任务的分发(task的分发)

2、将每一个task的计算结果拉回到Driver端。

spark的代码执行流程:

1、从文件系统中读取数据(Flie System)加载到RDD。

2、使用transformations算子 对RDD的计算(不会立即执行)。

3、触发Action类算子执行(立即执行)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值