Spark系列(三)更快一点--Spark运行处理数据原理,如何简单提高并行度??

写在前面: 我是「nicedays」,一枚喜爱做特效,听音乐,分享技术大数据开发猿。这名字是来自world order乐队的一首HAVE A NICE DAY。如今,走到现在很多坎坷和不顺,如今终于明白nice day是需要自己赋予的。
白驹过隙,时光荏苒,珍惜当下~~
写博客一方面是对自己学习的一点点总结及记录,另一方面则是希望能够帮助更多对大数据感兴趣的朋友。如果你也对 大数据与机器学习感兴趣,可以关注我的动态 https://blog.csdn.net/qq_35050438,让我们一起挖掘数据与人工智能的价值~

Spark运行原理:

一:Spark word count 运行原理:

在这里插入图片描述

二:Stage划分:

在这里插入图片描述

由上图可知:

  • 一个Stage对应着有多个Task
  • 一个RDD有多个分区
  • 一个分区会运行着一个task处理数据
  • task横向贯穿stage

通过是不是会产生一个shuffle来区分不同的Stage

三:为什么要执行Stage?

  • 数据本地化
    • 移动计算,不是移动数据
    • 保证一个stage内不会发生数据移动

四:Spark Shuffle过程:

  • 在分区之间重新分配数据
    • 父RDD中同一分区中的数据按照算子要求重新进入子RDD的不同分区
    • 中间结果写入磁盘
    • 由子RDD拉取数据,而不是由父RDD推送
    • 默认情况下,Shuffle不会改变分区数量
  • </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值