2015-12-13 183 views
0

我正在使用Pentaho數據集成創建從xlsx文件到mysql的轉換,但我無法從Excel 2007 xlsx(apache POI Straiming)的大文件導入數據。它給了我內存不足的錯誤。從大文件中提取數據excel

+0

我建議先將XLSX轉換爲CSV。將CSV分成10K個記錄。一次導入一個CSV文件。如果這導致問題,請將CSV分成1000個記錄,然後重試。我建議首先啓動該路線。 – zedfoxus

+0

當POI流式傳輸與XLSX文件崩潰時,我已成功使用XLS文件。 – bolav

+0

在訪問大文件時,Pentaho似乎耗盡內存。您需要通過編輯spoon.bat或spoon.sh文件來增加-Xmx的值來增加java內存的大小。查看[博客](https://anotherreeshu.wordpress.com/2014/11/27/memory-handling-in-pentaho-data-integration/) – Rishu

回答

0

你試過這個選項嗎?

高級設置 - >通用模式 - >更少的內存消耗大的Excel(事件模式

(你需要檢查「讀的Excel2007文件格式」第一)

0

我會建議你增加JVM內存在默認情況下,pentaho數據集成又名水壺內存分配較低,這會導致運行涉及大型文件的ETL時出現問題,您需要修改-Xmx值,以便指定較大的內存上限。蝙蝠

如果您在窗口中使用勺子並在下面的線條顯示中編輯spoon.bat。

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xmx512m" "-XX:MaxPermSize=256m" 

如果您正在使用廚房或平底鍋,請相應地編輯pan.bat或kitchen.bat。如果您在Linux中使用,請更改.sh文件。