【问题标题】:Java Spark inserting CSV: GC overhead limit exceededJava Spark 插入 CSV:超出 GC 开销限制
【发布时间】:2017-07-03 12:23:37
【问题描述】:

您好,我愿意在我的数据库中插入一个 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 文件拆分成更小的文件吗?那么什么是合适的尺寸? 我应该增加堆大小吗?

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

感谢您的帮助。

【问题讨论】:

    标签: java apache-spark garbage-collection


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2022-01-01
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 2011-05-21
      • 2015-10-30
      • 1970-01-01
      • 2017-12-27
      • 2013-07-13
      相关资源
      最近更新 更多