sparkSQL数据帧可以超过内存吗?

时间:2016-04-08 11:11:45

标签: apache-spark

我正在使用SparkSQL进行一些计算。每隔5分钟就会出现一个新的数据框。我需要在最近一周的数据框中运行计算。

这意味着我需要将12 * 24 * 7 = 2016数据帧合并为一个大数据帧并进行计算。

大小超出了我的RAM大小。我的火花星团中的所有节点都有128G的内存,这还不够。

所以我想知道如果数据帧太大而不适合内存会发生什么?火花会暂时将它换成磁盘吗?我是否需要明确要求火花交换或自动完成?

1 个答案:

答案 0 :(得分:0)

您是否有需要阅读的2016年输入文件?如果是这样,spark的读取函数接受通配符,因此您可以一次性读取它们,而不是设置一些循环/读取/合并功能。根据您的输入文件,内存中数据框的大小可能远小于保存文件的大小。因此,您的数据框可能适合内存。

要回答您的问题,如果内存不足,Spark会根据需要自动溢出到磁盘。