1

参考我之前的帖子,这里是链接

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

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

还有哪些其他方法可以提高转换的性能?

4

2 回答 2

3

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

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

  • 运行它的机器/服务器的硬件参数。(在我的情况下,当我在新服务器上运行作业时,它比在我的笔记本电脑上运行快大约 2 倍)。在您运行期间是否有其他进程在同一台机器上运行?
  • 改造优化了吗?你是否经常使用 JavaScript 步骤?它们速度较慢(尝试用其他步骤替换它们)。您使用哪种存储方式?您使用多少个数据库连接?
  • 您是否发现了转型的瓶颈?当您运行转换时,您可以看到哪些步骤正在减慢它的速度(瓶颈)[请参见Step Metrics的选项卡Execution results,专注于Speed] Input/output。例如,数据库连接到远程服务器、合并连接、排序步骤。您可以为这样的步骤设置更多实例(右键单击该步骤 > > 将其设置为 2 或更多 > 重新运行转换并查看差异)。Change number of copies to start..
  • 使用缓存选项进行数据库查找。
  • 尽可能避免“缓慢的步骤”(那些需要处理所有行以创建结果的步骤):对行进行排序、合并连接、唯一行、行非规范化器。当第一行到达这样一个步骤时,它一直等到最后一行到来。然后该步骤处理所有行,创建结果并继续转换。
  • 尝试使用集群

进一步阅读:

于 2016-03-02T09:55:17.537 回答
1
  1. 避免排序操作
  2. 尽可能避免使用 Java 脚本
  3. 一个大的 JavaScript 步骤比三个连续的小步骤运行得更快。所以尝试结合
  4. 在转换设置的杂项选项卡中勾选“管理线程优先级”
  5. 如果可能,不要删除 Select Value 中的字段
  6. 应用副本数以开始引用:- http://help.pentaho.com/Documentation/5.4/0L0/0Y0/070/030
于 2017-03-30T07:48:27.217 回答