RDD的5大特性

worker里有很多Excutor,真正完成计算的是Excutor,Excutor计算都是在内存进行计算,
Excutor里面有partitioner,partitioner里面的数据如果内存足够大的话放到内存中,它是一点一点读的
RDD是分布式数据集,所说RDD就是这个,
RDD有5个特点:
1.a list of partiotioner有很多个partiotioner(这里有3个partiotioner),可以明确的说,
一个分区在一台机器上,一个分区其实就是放在一台机器的内存上,
一台机器上可以有多个分区。


2.a function for partiotioner一个函数作用在一个分区上。
比如说一个分区有1,2,3 在rdd1.map(_*10),把RDD里面的每一个元素取出来乘以10,每个分片都应用这个map的函数


3.RDD之间有一系列的依赖
rdd1.map(_*10).flatMap(..).map(..).reduceByKey(...)
构建成为DAG,这个DAG会构造成很多个阶段,这些阶段叫做stage,RDDstage之间会有依赖关系,后面根据前面的依赖关系来构建,如果前面的数据丢了,它会记住前面的依赖,从前面进行重新恢复。每一个算子都会产生新的RDD.
textFile 与flatMap会产生两个RDD.


4.分区器hash & Integer.Max % partiotioner 决定数据到哪个分区里面,可选,这个RDD是key-value 的时候才能有


5.最佳位置。数据在哪台机器上,任务就启在哪个机器上,数据在本地上,不用走网络。不过数据进行最后汇总的时候就要走网络。(hdfs file的block块)
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值