2016-03-02 89 views
1

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)。

什么是其他方法来提高转换的性能?

+0

你有没有检查你的瓶颈? – bolav

+0

@bolav这是你在我以前的帖子中提出过的同样的转换。我只改变了源数据,列名和它的元数据也是一样的。 – Deepesh

+0

但是,您需要使用勺子对其进行配置。 – bolav

回答

3

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

最终速度取决于转换的设计。一般情况下:

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

延伸阅读:

1
  1. 避免排序操作
  2. 避免Java脚本,如果可能的话
  3. 一个大的JavaScript步骤运行速度快于三个连续的较小步骤。所以尽量
  4. 蜱在变换设置
  5. 如果可能的其他选项卡结合“管理线程优先级”,不选择值删除字段
  6. 应用无份的开始 refernce: - http://help.pentaho.com/Documentation/5.4/0L0/0Y0/070/030