写在前面: 我是
「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不会改变分区数量
</