Spark中的RDD数据模型

1、RDD概念

RDD数据模型就是将复杂的逻辑,拆分成很小的计算单元,并对要计算的数据进行分区,对计算单元的拆分有利于计算逻辑的重复利用,对数据的分区有利于并行计算,提高程序的执行效率。

1.1 RDD理解

可以将RDD理解成链表中的Node节点,Spark的计算就是通过对RDD计算单元的组合操作,完成业务需求。

1.2 RDD的组合

RDD的功能扩展就是和IO操作的功能扩展类似,在各种stream上套接包装流,提高读写效率的思想一样,采用装饰着设计模式。

RDD中的collect方法,类似于IO中的read方法,只要不调用collect方法,前面的逻辑和方法调用不会被执行。

RDD不存储任何数据,只封装操作数据的逻辑 

 

上图为各种功能套接在textFile方法之上的功能叠加,实现wordcount案例的图示

①flatMap将每一行的内容扁平化为一个一个的单词②Map将每一个单词变换成(单词,1)形式的元组③reduceByKey将元组按照Key分组,并对value做累加得到最后结果。 

 2.RDD属性

①A list of partitions   --->分区列表,为了负载均衡会对数据做分区处理

②A function for computing  --->对每个切片(分区)的计算函数

③A dependencies on other RDDs  --->对其他RDD的依赖<

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值