Pentaho 对行进行排序花费的时间太长

Pentaho 对行进行排序花费的时间太长,pentaho,pentaho-spoon,pentaho-data-integration,Pentaho,Pentaho Spoon,Pentaho Data Integration,我是Pentaho的新手 下面的转换似乎是正确的 但是,对行进行排序需要永久性: 这是一个步骤: 为什么要花这么长时间,我该如何改进 这是合并联接2: 在转换属性ctrl+T或视图->设置中尝试此操作: 在行集中设置更大的行数 设置更大的反馈大小 取消选中管理线程优先级? 例如: 我尝试使用排序的几种方法。。希望这有帮助 使用“排序行”步骤上的“内存中的排序大小行”设置来控制此操作。%中的可用内存阈值有助于避免填满可用内存。确保为PDI分配足够的RAM。 利用数据库将数据推送到暂存、排序和填充目

我是Pentaho的新手

下面的转换似乎是正确的

但是,对行进行排序需要永久性:

这是一个步骤:

为什么要花这么长时间,我该如何改进

这是合并联接2:

在转换属性ctrl+T或视图->设置中尝试此操作:

在行集中设置更大的行数 设置更大的反馈大小 取消选中管理线程优先级? 例如:

我尝试使用排序的几种方法。。希望这有帮助

使用“排序行”步骤上的“内存中的排序大小行”设置来控制此操作。%中的可用内存阈值有助于避免填满可用内存。确保为PDI分配足够的RAM。 利用数据库将数据推送到暂存、排序和填充目标表在批处理方面可以快速工作。
步骤“Merge join2”有两次时间步长作为输入。由于“排序行”未定义为“合并join2”中的输入步骤,因此不会处理“排序行”中的记录。如果反缓冲区位于10000,则“排序行”停止写入“合并join2”。因此,“对行进行排序”的步骤永远不会完成。

显然,您可以从JVM中增加该步骤使用的内存,这是您可以在该步骤中设置的“空闲内存阈值%”参数。因为我们谈论的是虚拟机,所以我们无法100%地知道有多少可用内存,所以试着增加一点,看看它是否运行得更快。谢谢,我已经将内存设置为90%,但它没有运行!排序步骤的输出缓冲区似乎已满。“合并2”步骤是否按照与您排序相同的顺序使用键?当排序步骤仍在运行,但合并2已经完成时,这看起来很奇怪。@Cyrus,感谢您的帮助,请查看我上面编辑的问题。啊,这解释了很多。合并2列出两个输入的时间步长。这意味着它根本不使用排序步骤中的输入行,当缓冲区达到10k行时,流暂停。将第一步更改为对行进行排序。此外,如果只想按时间键合并,则应按时间键排序。