我在\ remote \ location等远程驱动器中有大量(超过200k)的pdf文件。我必须从该目录中读取所有文件名并将文件名插入数据库。
我尝试过“获取文件名”步骤。但是它没有加载文件名,转换立即停止
我尝试使用较少数量的记录,这些记录位于同一个远程目录中,但位于子目录中。它工作正常。
但是,当我尝试所有文件(包括子目录)时,它崩溃了。遇到内存不足。 (Failed to execute runnable (java.lang.OutOfMemoryError: Java heap space))
有没有办法可以为每个1000个文件处理一次?
答案 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 ...