KETTLE——Weka处理大数据量内存溢出问题

现在做的一个项目ETL采用KETTLE,通过Perl脚本进行分天表、月表及年表的创建,并修改KETTLE创建的抽取任务模板。即使这样在处理天表表近百万数据量时,Kettle也会有时发生内存溢出现象,导致抽取任务失败。今天发现了一哥们BLOG中的解决办法,特分享。

 

以Spoon.bat为例,其他组件和.sh操作类似

 

用文本编辑器打开Spoon.bat找到:

 

REM ******************************************************************

REM ** Set java runtime options                                     **

REM ** Change 256m to higher values in case you run out of memory.  **

REM ******************************************************************

 

set OPT=-Xmx1444m -cp %CLASSPATH% -Djava.library.path=libswt\win32\ -DKETTLE_HOME="%KETTLE_HOME%" -DKETTLE_REPOSITORY="%KETTLE_REPOSITORY%" -DKETTLE_USER="%


KETTLE_USER%" -DKETTLE_PASSWORD="%KETTLE_PASSWORD%" -DKETTLE_PLUGIN_PACKAGES="%KETTLE_PLUGIN_PACKAGES%"

 

修改这里的数字...-Xmx1444m...

我装的是jdk-1_5_0_14这里的1444m是极限了.大家可以在自己的机器上试验不同的数值.

 

 

 

WEKA(感谢网友:comcome84)

 

用文本编辑器打开RunWeka.ini找到:

 

# placeholders ("#bla#" in command gets replaced with content of key "bla")

# Note: "#wekajar#" gets replaced by the launcher class, since that jar gets

#       provided as parameter

maxheap=1444m

 

这里同样被我修改成1444m.


感谢本文方法来源:http://blog.csdn.net/senaku/archive/2008/07/03/2609021.aspx

posted on 2010-04-14 21:42  小司  阅读(2281)  评论(0编辑  收藏  举报