Pentaho变换设置

Pentaho变换设置,pentaho,etl,Pentaho,Etl,我想了解pentaho环境中的以下差异 1) 什么是行集。就像是从输入步骤收集记录,或者确切的意思是什么? 我在转换设置部分看到,行集中的行数默认为 10000最佳值是多少。例如,如果我的输入步骤提供了100行,那么这里的值应该是多少,或者如果输入数据集 伟大的10000将如何表现 2) 管理线程优先级选项:这在上述场景中是如何工作的 你好吗?我会尽力帮你解释,但也许有人可以在以后改进 在设计转换时,首先要记住(大多数情况下)所有步骤都将并行运行。那么在这种情况下,如何控制流动的行以确保在最短的

我想了解pentaho环境中的以下差异

1) 什么是行集。就像是从输入步骤收集记录,或者确切的意思是什么? 我在转换设置部分看到,行集中的行数默认为 10000最佳值是多少。例如,如果我的输入步骤提供了100行,那么这里的值应该是多少,或者如果输入数据集 伟大的10000将如何表现


2) 管理线程优先级选项:这在上述场景中是如何工作的

你好吗?我会尽力帮你解释,但也许有人可以在以后改进

在设计转换时,首先要记住(大多数情况下)所有步骤都将并行运行。那么在这种情况下,如何控制流动的行以确保在最短的时间内处理它们呢?你指出的两个选项是解决这个问题的关键

行集大小 每一步都有自己的行集。这就像一个牌子上写着“最多允许10'000人在里面”,但不是有人在里面。因此,当一个步骤中有允许的最大行数时,它会锁上门,在另一侧有行数出来之前不要让行数进入

这是主要概念,但您可能会发现步骤以不同的方式工作,如阻塞步骤、对行排序、内存分组等。由于它们的功能不同,它们必须以不同的方式工作(排序行需要读取所有输入以确保其顺序正确)

管理线程优先级 还记得所有的pentaho变换步骤都是并行运行的吗?而且行集合可能会导致一个台阶锁上它的门,并且在有人出来之前不让任何人进来?好吧,如果所有步骤都具有相同的优先级,那么可能会导致转换一直锁定,并且运行时间太长,因此线程优先级就在这里。如果该标志被启用,您将让pentaho说一个特定的步骤应该使用更多的CPU和/或内存来快速完成它的工作,并让其他行进入


好的,那么,使用的最佳行集是什么? 这的确是个棘手的问题。这将取决于您将处理多少行以及如何设计转换(某些设计可能会比其他设计锁定更多行)。通常我会测试很多配置,以确保以尽可能最佳的性能运行转换

在某些情况下,我使用300000行、5000000行甚至500行。有些人(和其他人)不鼓励使用高行集合:

在很多情况下,较小的行集大小实际上可以提高性能,因为它强制行通过(并行执行)转换的所有步骤

但最后,您应该进行测试,直到找到一个好的设置为止。=)

我希望这有帮助