在scala列表或Map中保留多个Dataframe以进行迭代处理可以吗

jm81lzqq  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(367)

我有3个Dataframe,每个Dataframe有50列和数百万条记录。我需要对上面的Dataframe应用一些常见的转换。
目前,我将这些Dataframe保存在scala列表中,并对每个Dataframe执行迭代操作。
我的问题是,在scala集合中保留大Dataframe是可以的,还是会有任何与性能相关的问题。如果是,以迭代方式处理多个Dataframe的最佳方法是什么?
提前谢谢。

tkqqtvp1

tkqqtvp11#

这样做没有问题,因为list只是对您的Dataframe的引用,而spark中的Dataframe是lazy eval。因此,除非你开始处理任何一个Dataframe,即对它们调用操作,否则它们不会被填充。一旦行动结束,它就会被清除。因此,这将等于分别调用它们3次,因此您的方法没有问题。

相关问题