当前位置:   article > 正文

SPARK:性能调优之RSS

SPARK:性能调优之RSS

参考文章:

一、原生的 shuffle 过程

1、在mapper将shuffle数据写到本地磁盘,每个mapper会按照下游reducer的个数生成block
2、reducer在fetch环节拉取对应的block

性能问题
每个map生成的shuffle数据在一个文件中,文件分成多个block,每个block是一个下游reducer需要处理的数据,因此在shuffle read的时候,reducer需要读取上游属于自己的block,随机读比较严重。

  1. 数据随机读严重
  2. shuffle read 负载不均衡
  3. 数据无备份

体现在SPARK任务报错体现在,reducer的数据拉取报失败。

二、RSS 过程

1、shuffle read:在shuffle read阶段,mapper会将shuffle数据不直接罗盘针,而是按照reducer将block推到rss集群内存中。
2、RSS内存将各mapper产生的数据merge起来,存到hdfs中。
3、shuffle write:reducer在shuffle fetch的时候,reducer向Driver发起请求,拿到MapStatus消息,然后找到HDFS上聚合后的数据。

优点:

  1. 读数据的时候为顺序读,减少磁盘随机读和网络开销。
  2. rss可以做数据备份和数据去重。
  3. shuffle read的集群负载均衡。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/507298
推荐阅读
相关标签
  

闽ICP备14008679号