Pentaho数据集成“获取文件名”没有加载大文件列表

时间:2012-12-06 13:04:22

标签: pentaho kettle

我在\ remote \ location等远程驱动器中有大量(超过200k)的pdf文件。我必须从该目录中读取所有文件名并将文件名插入数据库。

我尝试过“获取文件名”步骤。但是它没有加载文件名,转换立即停止 我尝试使用较少数量的记录,这些记录位于同一个远程目录中,但位于子目录中。它工作正常。
但是,当我尝试所有文件(包括子目录)时,它崩溃了。遇到内存不足。 (Failed to execute runnable (java.lang.OutOfMemoryError: Java heap space))

有没有办法可以为每个1000个文件处理一次?

2 个答案:

答案 0 :(得分:2)

你内存不足。编辑spoon.sh文件并搜索此行。

PENTAHO_DI_JAVA_OPTIONS="-Xmx512m -XX:MaxPermSize=512m"

如果你有4GB的可用内存,你可以设置2gb,(这取决于你)。

PENTAHO_DI_JAVA_OPTIONS="-Xmx2048m -XX:MaxPermSize=1024m"

重新开始用勺子再试一次。

答案 1 :(得分:0)

水壶非常渴望记忆。例如,我通常需要8 GB才能对仅250,000条记录的文件运行相对较长且复杂的过程。所以在我运行厨房或平底锅之前,我总是将JAVAMAXMEM设置得相当高。您可以以MB为单位进行设置,因此对于4 GB,您需要设置

JAVAMAXMEM=4096 kitchen.sh ...