2017-07-03 106 views
0

嗨,我會在我的數據庫中插入一個10Gb CSV文件。 它適用於小尺寸文件,但我一直有一個更大的錯誤消息。Java Spark插入CSV:超出GC開銷限制

這裏是我的代碼:

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文件分割成更小的文件嗎?那麼這將是一個好的尺寸? 我應該增加堆大小嗎?

我會選擇第一個解決方案,但我不確定這是最佳選擇。

感謝您的幫助。

回答

0

您將希望在saveAsTable之前進行重新分區。不這樣做會導致整個文件被加載到內存中,從而導致錯誤。

相關問題