Pentaho 转换设置
Pentaho Transformation settings
我想了解下pentaho环境的区别
1) 什么是行集。就像从输入步骤收集记录或者确切的含义是什么?
我在转换设置部分看到行集中的行数默认为
10000。最佳值是多少。例如,如果我的输入步骤提供了 100 行,那么这里的值应该是多少,或者如果输入数据集
大于10000性能如何。
2) Manage thread priority 选项:这对于上述场景如何工作。
你好吗?我会尝试提供一些解释,但也许有人可以稍后改进它们。
首先,在设计转换时要记住的最重要的事情是(大多数情况下)所有步骤都将 运行 并行。那么在那种情况下,您如何控制流动的行以确保它们在最短的时间内得到处理?您指出的相同两个选项是解决该问题的关键。
行集大小
每个步骤都有自己的行集。这就像一个标语,上面写着“内部允许的最大人数为 10'000”,但不是人而是行。因此,当一个步骤中有最大允许行时,它会锁上门,直到另一侧有行出来才让行进入。
这是主要概念,但您可能会发现步骤以不同的方式工作,例如阻塞步骤、排序行、内存分组依据等。它们必须以不同的方式工作,因为它们的功能(排序行需要读取所有输入以确保其排序正确)。
管理线程优先级
还记得所有的 pentaho 转换步骤都是 运行 并行的吗?并且 rowset 可能会导致一个步骤来锁定它的门并且在它把人弄出来之前不让任何人进来?好吧,如果所有步骤都具有相同的优先级,这可能会导致转换一直锁定并花费太长时间才能达到 运行,因此这就是线程优先级的用武之地。如果启用该标志,您将让pentaho 说一个特定的步骤应该使用更多 CPU and/or 内存来快速完成它的工作并让其他行进来。
好的,话虽如此,最好使用什么行集?
确实是一个棘手的问题。这将取决于您将处理多少行以及您如何设计转换(某些设计可能比其他设计更多地锁定行)。通常我会测试很多配置,以确保我 运行 以最佳性能完成我的转换。
在某些情况下,我使用 300'000 行、5'000'000 行甚至 500 行。有些人(和 official wiki)不鼓励使用高排组:
In a lot of cases a smaller row set size actually improves performance since it forces rows through all steps of a (parallel executing) transformation.
但最后,您应该进行测试,直到找到合适的设置。 =)
希望对您有所帮助
我想了解下pentaho环境的区别
1) 什么是行集。就像从输入步骤收集记录或者确切的含义是什么? 我在转换设置部分看到行集中的行数默认为 10000。最佳值是多少。例如,如果我的输入步骤提供了 100 行,那么这里的值应该是多少,或者如果输入数据集 大于10000性能如何。
2) Manage thread priority 选项:这对于上述场景如何工作。
你好吗?我会尝试提供一些解释,但也许有人可以稍后改进它们。
首先,在设计转换时要记住的最重要的事情是(大多数情况下)所有步骤都将 运行 并行。那么在那种情况下,您如何控制流动的行以确保它们在最短的时间内得到处理?您指出的相同两个选项是解决该问题的关键。
行集大小 每个步骤都有自己的行集。这就像一个标语,上面写着“内部允许的最大人数为 10'000”,但不是人而是行。因此,当一个步骤中有最大允许行时,它会锁上门,直到另一侧有行出来才让行进入。
这是主要概念,但您可能会发现步骤以不同的方式工作,例如阻塞步骤、排序行、内存分组依据等。它们必须以不同的方式工作,因为它们的功能(排序行需要读取所有输入以确保其排序正确)。
管理线程优先级 还记得所有的 pentaho 转换步骤都是 运行 并行的吗?并且 rowset 可能会导致一个步骤来锁定它的门并且在它把人弄出来之前不让任何人进来?好吧,如果所有步骤都具有相同的优先级,这可能会导致转换一直锁定并花费太长时间才能达到 运行,因此这就是线程优先级的用武之地。如果启用该标志,您将让pentaho 说一个特定的步骤应该使用更多 CPU and/or 内存来快速完成它的工作并让其他行进来。
好的,话虽如此,最好使用什么行集? 确实是一个棘手的问题。这将取决于您将处理多少行以及您如何设计转换(某些设计可能比其他设计更多地锁定行)。通常我会测试很多配置,以确保我 运行 以最佳性能完成我的转换。
在某些情况下,我使用 300'000 行、5'000'000 行甚至 500 行。有些人(和 official wiki)不鼓励使用高排组:
In a lot of cases a smaller row set size actually improves performance since it forces rows through all steps of a (parallel executing) transformation.
但最后,您应该进行测试,直到找到合适的设置。 =)
希望对您有所帮助