美好的一天,
我有一个水壶pentaho
文件作为批处理作业运行。
基本上,这个文件包含2个主要步骤,
第一步,从输入文件(txt
文件)中读取并存储在table1
内。
第二步,与第一步相同,从同一输入文件读取并存储在table2
内。
这个批处理工作正常,直到我输入一个20MB的输入文件。完成这项工作需要7个多小时。
以下是我所做的一些测试案例:
15360 records, 1.4MB, 2 minutes and 20 seconds (140 seconds total).
30720 records, 2.8MB , 7 minutes and 30 seconds (450 seconds total)
61440 records, 5.5MB, 26 minutes and 55 seconds (1615 seconds total).
250000 records, 20MB, 7 hours and 30 minutes
在日志中,我发现有一些步骤占用了大部分时间。具体如下: 1.文本文件输入。 2.选择值。 3.修改的Java脚本值。
这两个主要步骤还包含这个3壶pentaho功能。对于20MB的输入文件,第一步只需要大约7分钟,但第二步需要7个多小时。
试着在相当长的时间内查看它,仍然无法找出问题所在。
请告知。
答案 0 :(得分:1)
可能有多种原因(我假设)。首先,尝试优化“选择值”和“修改后的JavaScript ”等步骤。一些性能调优技巧在here中给出。
您也可以尝试在pan.sh
中增加Java内存。检查下图:
将JAVAMAXMEM更改为高于1024的某个值。
希望这些改变可能会有所帮助:)