当spark可能会抛出内存不足异常

时间:2018-08-13 13:42:47

标签: apache-spark

我有一个216GB的输入数据(超过3000个.gz文件)。我必须将此数据存储到分区的配置单元表中。分区是通过X列完成的。有40个不同的X列。我希望每个分区有一个文件。因此,用以下代码加载配置单元表。

df.repartition(df.col("X")).write.partitionBy("X").parquet("/path/to/table")

这导致OOM异常。

对于大小为293GB(单个csv文件)和187个不同的X列的数据,相同的代码也可以正常工作。

任何人都可以帮助我了解这里发生的事情吗?

列X的单个值的记录数量在两者之间完全不同。例如,在第一种情况下,X的单个值为4000万条记录,在第二种情况下为500万条。

我能确切找到在什么时候会引发OOM异常吗?

0 个答案:

没有答案