比较两个不同表的行数 Pentaho

Comparing rows count for two different tables Pentaho

我想比较来自两个不同连接的两个 table 的两行计数。
我试图通过执行
来获取每个不同 table 的行数 Select count(*) as count1 from Table1

Select count(*) as count2 from Table2
在两个不同的 Execute SQL Script 步骤中,如以下屏幕截图所示,但我不知道如何继续。
特别是,我想得到两个不同的计数并比较它们,然后分别用 success/failure 分支判断它们是否相等。
我怎样才能做到这一点?

这很容易。有一个步骤称为 Evaluate rows number in a table。这两者都从 table 获取行数并根据值对其进行测试。该值可以来自作业中的变量(注意作业,而不是转换)。

所以您需要做的就是创建一个带有 Set variables 任务的变量,从您的一个 table 中获取行数,然后执行评估行任务。下面的工作将做到这一点。

为另一个 table 获取行数的转换非常简单。只需在 Table input 步骤中执行 SELECT COUNT(*) FROM {tblname} 并将输出流向转换中的 Set variables 步骤。请务必在父作业中将变量标记为有效。

您还可以针对连接执行 SQL JavaScript 步骤,这样可以避免创建转换,但我更愿意尽可能避免编写脚本。

您可以使用Table比较步骤,您需要的都在这里,问候