首页 > 解决方案 > Spark 会在演出后重新计算数据帧吗

问题描述

我很好奇 Spark 如何处理计算阶段。

也许我可以举几个例子:

val df1 = stage1(df)
val df2 = stage2(df1)
df2.show(10)
val df3 = stage3(df2)

Spark如何处理show这里的?它会计算两次,一次用于表演,一次stage1用于. 这意味着 show() 减慢进程stage2stage3

用户是否可以控制持久化和不持久化的内容?

提前致谢 !

标签: apache-spark

解决方案


表演是一种行动。假设stage3之后有一个Action,那么就会发生重新计算。

如果没有演出,那就没有。

具体来说,在 df2 上缓存意味着在您的示例中无需重新计算。


推荐阅读