如何在Pentaho DI中添加新列进行流,而不阻塞流,新列值不是恒定的

How to add new column to stream in Pentaho DI, without blocking the stream, new column value is not constant

提问人:Imangali 提问时间:10/20/2023 最后编辑:Rishu SImangali 更新时间:11/13/2023 访问量:35

问:

enter image description here

我在节点中有来自主流的管道结果,如下所示sventer image description here

和节点的结果 辅助节点 在图片顶部enter image description here

在结果中,我应该得到这样的结果enter image description here

如何获得像笛卡尔的结果一样的结果,但不阻塞流

标准:

  1. 它不应该阻止流式处理
  2. 但它应该产生笛卡尔连接类型结果
  3. 通过 ?table_input本身的标志也不起作用,因为在实际情况下,它已经与增量一起使用

如何在不阻塞流的情况下添加新列?

Pentaho 水壶 数据工程

评论


答:

0赞 Rishu S 10/22/2023 #1

由于 是动态的并且会更改记录,因此您可以将其设置为变量。您的转换将如下所示table_cnt

Table Input --> Set Variable (total_cnt as variable set at ROOT level or Job Level)

enter image description here

接下来,主转换可以使用该步骤来获取之前设置的行。示例工作流如下所示。Get Variable

Table Input --> Get Variable --> ... rest of the flow

enter image description here

此方法不使用 step,也不会阻止流。它将行追加到现有的主表输入流中。要了解有关在 Pentaho 中使用变量的更多信息,您可以参考 Pentaho wikiJOIN ROW

0赞 Bert-Jan Stroop 11/13/2023 #2

Rishus sollution 将起作用。一个更简单的解决方案是不使用笛卡尔积,而只是向两个流添加一列(1::int 作为键),然后与该键上的流查找连接,然后在 SV2 中转储键......