企业宣传,产品推广,广告招商,广告投放联系seowdb

什么叫内存计算? 在Spark中

在 Spark 中,内存计算有两层含意:

那 Stage 内的流水线式计算形式究竟长啥样呢?在 Spark 中,流水线计算形式指的是:在同一 Stage 外部,一切算子融合为一个函数,Stage的输入结果,由这个函数一次性性作用在输入数据集而发生。

咱们用一张图来直观地解释这一计算形式。

在上方的计算流程中,假设你把流水线看作是内存,每一步操作事先都会生成暂时数据,如图中的 clean 和 slice,这些暂时数据都会缓存在内存里。

但在上方的内存计算中,一切操作步骤如clean、slice、bake,都会被捏合在一同形成一个函数。这个函数一次性性地作用在“带泥土豆”上,间接生成“即食薯片”,在内存中不发生任何两边数据外形。

由于计算的融合只出当初 Stages 外部,而 Shuffle 是切割 Stages 的边界,因此一旦出现Shuffle,内存计算的代码融合就会终止。但是,当咱们对内存计算有了多方位了解,就不会一股脑地只想到用 cache去优化运行的口头功能,而是会更被动地想方法尽量防止 Shuffle,让运行代码中尽或者多的局部融合为一个函数,从而优化计算效率。

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender