Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/authentication/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pentaho集合变量异常_Pentaho_Pentaho Spoon_Pentaho Data Integration - Fatal编程技术网

Pentaho集合变量异常

Pentaho集合变量异常,pentaho,pentaho-spoon,pentaho-data-integration,Pentaho,Pentaho Spoon,Pentaho Data Integration,我对Pentaho设置变量步长有疑问。这是我的ktr配置: 我正在检查是否有不良记录要报告。我用一个序列来保持计数。在这之后,我准备了一个有这个错误的文档,只要计数器大于零就可以发送 对于kjb父亲,我使用此配置检查错误的数量: 但是,当我执行该过程时,对于ktr,我收到以下消息: 设置变量2.0-将变量NumberOfErrors设置为值 org.pentaho.di.core.exception.KettleStepException:仅1个输入行 预计将设置变量,至少收到2个。 位于o

我对Pentaho设置变量步长有疑问。这是我的ktr配置:

我正在检查是否有不良记录要报告。我用一个序列来保持计数。在这之后,我准备了一个有这个错误的文档,只要计数器大于零就可以发送

对于kjb父亲,我使用此配置检查错误的数量:

但是,当我执行该过程时,对于ktr,我收到以下消息:

设置变量2.0-将变量NumberOfErrors设置为值 org.pentaho.di.core.exception.KettleStepException:仅1个输入行 预计将设置变量,至少收到2个。 位于org.pentaho.di.trans.steps.setvariable.setvariable.processRow(setvariable.java:96) 位于org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) 在java.lang.Thread.run(Thread.java:748)2019/02/04 18:56:36-设置变量2.0-错误(版本8.1.0.0-365,从 2018-04-30 09.42.24作者:buildguy):意外错误2019/02/04 18:56:36-设置变量2.0-错误(版本8.1.0.0-365,内部版本 8.1.0.0-365从2018-04-30 09.42.24由buildguy发布):org.pentaho.di.core.exception.com异常:2019/02/04 18:56:36 -设置变量2.0-预期只有1个输入行设置变量,至少收到2个。2019/02/04 18:56:36-设定 变量2.0-2019/02/04 18:56:36-设置变量2.0-at org.pentaho.di.trans.steps.setvariable.setvariable.processRow(setvariable.java:96) 2019/02/04 18:56:36-设置变量2.0-在 org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)2019/02/04 18:56:36-设置变量2.0-at run(Thread.java:748)

即使我知道有一些坏记录,有错误的变量也等于零

如何以正确的方式配置设置变量步骤,以设置此变量的值


注意。

您看到的错误告诉您,设置变量步骤只接受包含一行的流

如果流包含多行,此步骤将抛出错误

要解决此问题,您可以尝试使用Group By步骤聚合行,以便将所有行聚合到一个包含count字段的行中

之后,设置变量步骤将只接收1个输入行,并且该变量将在父作业中成功设置

以下是一个例子:
您看到的错误告诉您,设置变量步骤只接受包含一行的流

如果流包含多行,此步骤将抛出错误

要解决此问题,您可以尝试使用Group By步骤聚合行,以便将所有行聚合到一个包含count字段的行中

之后,设置变量步骤将只接收1个输入行,并且该变量将在父作业中成功设置

以下是一个例子:

好极了!!这是非常有用的。对于记录,在我的例子中,我必须有一个常量,而不是序列步骤,然后使用group by,我只需计算该常量的行总数。太好了!!这是非常有用的。对于记录,在我的例子中,我必须有一个常量,而不是序列步骤,然后使用group by,我只是计算该常量的行总数。