3

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

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

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

4

2 回答 2

2

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

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

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

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

重新启动你的勺子,然后再试一次。

于 2012-12-06T16:16:38.650 回答
0

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

JAVAMAXMEM=4096 kitchen.sh ...
于 2012-12-07T15:55:38.970 回答