转换需要太长时间才能执行

时间:2016-03-02 06:37:39

标签: pentaho kettle pdi pentaho-spoon

with the reference to my previous post,here is the link

我的来源中有130000条记录。当我尝试运行转换时,它仍然在16小时后运行。

增加spoon.bat脚本文件的内存堆有助于减少转换的执行时间吗? (已从PENTAHO_DI_JAVA_OPTIONS="-Xmx256m -XX:MaxPermSize=256m更改为PENTAHO_DI_JAVA_OPTIONS="-Xmx2g -XX:MaxPermSize=256m)。

有哪些其他方法可以提高转型的效果?

2 个答案:

答案 0 :(得分:3)

我还需要加快转型。这是我的设置PENTAHO_DI_JAVA_OPTIONS="-Xmx2048m" "-XX:MaxPermSize=1024m"

最终速度取决于转换的设计。一般来说:

    运行它的计算机/服务器的
  • 硬件参数。 (在我的情况下,当我在新服务器上运行作业比在我的笔记本电脑上运行时快2倍)。在运行期间是否有其他进程在同一台计算机上运行?
  • 转换是否已优化?您是否经常使用JavaScript步骤?它们较慢(尝试用另一个步骤替换它们)。你用什么样的存储空间?您使用了多少个数据库连接?
  • 您是否确定了转型的瓶颈?当您运行转换时,您可以看到哪些步骤正在减慢它(瓶颈)[请参阅Step Metrics的{​​{1}}标签,重点关注Execution results a Speed]。例如。数据库连接到远程服务器,合并连接,排序步骤。您可以为步骤设置更多实例(右键单击步骤> Input/output>将其设置为2或更多>重新运行转型并看到差异)。
  • 使用缓存选项进行数据库查找。
  • 尽可能避免“慢步”(需要处理所有行以创建结果的那些):排序行,合并连接,唯一行,行非规范化器。当第一行进入这样一个步骤时,它会一直等待,直到最后一行到来。然后该步骤处理所有行,创建结果并继续转换。
  • 尝试使用群集

进一步阅读:

答案 1 :(得分:1)

  1. 避免排序操作
  2. 尽可能避免使用Java脚本
  3. 一个大的JavaScript步骤比连续三个较小的步骤运行得快。所以尝试组合
  4. 在转换设置的其他选项卡中勾选“管理线程优先级”
  5. 如果可能,请勿删除“选择值”
  6. 中的字段
  7. 不开始使用副本 参考: - http://help.pentaho.com/Documentation/5.4/0L0/0Y0/070/030