Spark Core2

Cache


RDDA ==> RDDB ==> RDDC 


对相同的RDD做action操作


cache和persist的区别 
cache lazy




val map = ..... //100M


10000tasks ==> ....M
100 executor
 
BroadcastJoin = MapJoin 
read-only
 
 
 
 
 
Lineage  血缘关系/血统
A =map=> B =filter=>C 
可以知道:一个RDD是如何从父RDD计算过来的 
 
 
Denpendence
Narrow  一个父RDD的partition至多被子RDD的某个partition使用一次
Wide 一个父RDD的partition会被子RDD的某个partition使用多次


Wide ==> Shuffle ==> 拆成2个stage
join/xxbykey




sc.textFile("file:///home/hadoop/data/ruozeinput.txt").flatMap(_.split("\t")).map((_,1)).reduceByKey(_+_).collect
 
 
 RDD: 100
 
 Spark: partition == task
 coalesce(10) ==> 100 ==> 10
 
 repartition 10==>50 
 100w 10 10w
      50 2w
emp.txt 求comm为空的总数
 
 rdd.filter().map().filter().filter().coalesce(10).save....
 1个分区  100  10   8  6 
 100分区 ===> 100task ==> 100 file

 

看官网:Performance Impact    有shuffle的影响描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值