我正在尝试修复spark作业中的内存问题,spark作业的一部分使用了一个case类对象,该对象包含一个大型spark dataframe对象字段。稍后在spark作业中,将计算另一个大型Dataframe,并使用case类替换case类中的Dataframe .copy()
方法,例如
case class Example(id: Int, bigDf: Dataframe)
val thisExample = Example(id, originalDf)
val newDF = ...
val newExample = thisExample.copy(bigDF = newDF)
这个Dataframe字段的更新实际上还要发生几次。我想知道这些复制是否会造成不必要的内存开销。如果 Example
是实际类而不是案例类 bigDF
字段可以设置而不必使用 .copy()
? 有没有更有效的方法?
暂无答案!
目前还没有任何答案,快来回答吧!