Java Spark插入CSV:超出GC开销限制

时间:2017-07-03 12:23:37

标签: java apache-spark garbage-collection

您好,我可以在我的数据库中插入10Gb CSV文件。 它与小尺寸文件完美配合,但我一直有较大的错误信息。

这是我的代码:

DataFrame df = sqlContext
                    .read()
                    .format("com.databricks.spark.csv")
                    .option("delimiter", ";")
                    .load("file:///home/1.csv");
df.write().mode(SaveMode.Append).saveAsTable("mynode.mytable");

解决此问题的最佳解决方案是什么? 我应该将10Gb文件拆分成较小的文件吗?那么什么是好大小? 我应该增加堆大小吗?

我会选择第一种解决方案,但我不确定它是最佳选择。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要在saveAsTable之前重新分区。不这样做会导致整个文件被加载到内存中,从而导致错误。