spark2

18Spark中stage的划分 和 shuffle的概念

        Stage的划分是根据宽依赖,当触发action算子时,按照从后往前的回溯算法,当遇到会发生shuffle算子的时候,就会切分stage
        Stage的划分本质shuffle,即当遇到会发生shuffle算子的时候划分Stage

 

        Shufle又称洗牌,即将相同key按照一定的分配策略划分到同一个task中进行计算。当不同的节点上存在相同key的时候,这里会发生网络IO传输
        在大数据各种计算引擎技术中,一般都会遵循“移动数据不同移动计算”的原则。所以尽量减少shuffle的发生,因为会涉及到网络传输、序列和反序列等耗时操作,降低处理效率。

1、Spark的Shuffle借鉴了MapReduce的Shuffle
2、Spark的Shuffle过程是:上一个Stage的线程将处理的结果保存到磁盘上,由下一个Stage的线程来读取
3、由于Spark的Shuffle过程有磁盘IO操作,会影响Spark的处理速度

 

1、DAG基于宽依赖(Shuflle)被划分为多个State(阶段)
2、每个Stage阶段内部为窄依赖,可以组成PipLine
3、一个PipLine可以由一个Task所处理(一个线程),即每条PipLine的处理均是各自的线程处理,即内存中完成了PipLine的迭代
4、当第一个stage结束时,该stage的线程将会被释放,下一个stage重新开辟新的线程来处理。(数量经过处理后,大量减少,可以减小线程(分区))

19.RDD中数据的存储位置 和 特性

        RDD中的数据在数据源RDD只是一个抽象的数据集,我们通过对RDD的操作就相当于对数据进行操作

        RDD是Spark中最基本的数据抽象,是一个弹性分布式数据集,全称是Resilient Distributed DataSet。

     

          特性:分区,不可变,并行操作。

        1)RDD是由一系列partition组成,textFile底层调用的是MR 读取HDFS上的数据的方法。

                                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​  

        
        2)函数作用在每一个partition (split) 上(RDD调用算子本质RDD的每个分区调用算子


        3)RDD之间有一系列的依赖关系 (容错机制)每个RDD都会保存其他RDD之间依赖关系:血缘关系。

1、每一个RDD都会记录该RDD的血缘关系(知道它是怎么来的,它的上一级是什么)
2、每次要获取一个RDD时,必须根据学院关系,从头开始执行


        4)可选的,如果是二元组【KV】类型的RDD,在Shuffle过程中可以自定义分区器。


        5)RDD提供一系列最佳的计算位置。

1、Driver在分配每个TaskExecutor时,会看看哪个Executor所在主机的数据哪个Task最近,就会优先分配。

20.对RDD进行cache操作后,数据存储位置

        数据在第一次执行cache算子时会被加载到各个Executor(真正计算的地方)进程的内存中,第二次就会直接从内存中读取而不会读取磁盘

     

 21.引起shuffle的算子分类

        1)大部分含有byKey的算子都会发生shuffle,如reduceByKey、groupByKey、sortByKey,combineByKey 等
        2)重分区类的算子:如repartition (其底层调用的是coalesce(shuffle=true)),coalesce等
        3) join类的算子:比如join、cogroup等
        4)去重类算子,如distinct

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值