Pentaho 如何不将前面的字段放入输出表步骤?

Pentaho 如何不将前面的字段放入输出表步骤?,pentaho,etl,kettle,Pentaho,Etl,Kettle,我有一个转换成水壶的程序叫做Test 这个ETL过程应该加载一个数据库的三个不同表,其中每个表都有自己的源,并加载到另一个数据库的不同表中 为此,我使用了三个表格输入步骤。每一个都连接到一个值映射器,该映射器连接到一个选择值步骤,然后连接到一个数据验证器,最后连接到一个表输出 总结一下,每个表负载总共有六个步骤。 当我编辑最后的步骤时,我发现了一个我想解决的问题,我拖动前面表格的字段 例如,表A加载有字段bank_id,在第二个表中它不存在,但在第二个加载过程的表输出步骤中,我可以选择它,尽管我

我有一个转换成水壶的程序叫做Test

这个ETL过程应该加载一个数据库的三个不同表,其中每个表都有自己的源,并加载到另一个数据库的不同表中

为此,我使用了三个
表格输入步骤
。每一个都连接到一个
值映射器
,该映射器连接到一个
选择值步骤
,然后连接到一个
数据验证器
,最后连接到一个
表输出

总结一下,每个表负载总共有六个步骤。 当我编辑最后的步骤时,我发现了一个我想解决的问题,我拖动前面表格的字段

例如,表A加载有
字段bank_id
,在第二个表中它不存在,但在第二个加载过程的
表输出步骤中,我可以选择它,尽管我不希望这样

是否有不查看前面字段的选项?这是我避免容易出错的方法。尤其是当表中有同名字段时

多谢各位

编辑


添加一个选择值步骤,我经常添加过滤步骤来“清理”流

添加一个选择值步骤,我经常添加过滤步骤来“清理”流

屏幕截图极大地澄清了情况,因此现在答案很简单:

删除行之间的对角跳跃(箭头)。

PDI中的转换没有单一的起点或终点,因此不需要在一行中连接所有步骤。有三条独立的溪流就可以了


转换中的所有步骤都是并行启动的,然后在行进入时等待并处理行(或者在输入步骤中,开始读取数据并将行生成到输出跳中)。这意味着您的三个流将按照各自从输入到输出的跳数并行执行。

屏幕截图极大地澄清了情况,因此现在的答案很简单:

删除行之间的对角跳跃(箭头)。

PDI中的转换没有单一的起点或终点,因此不需要在一行中连接所有步骤。有三条独立的溪流就可以了



转换中的所有步骤都是并行启动的,然后在行进入时等待并处理行(或者在输入步骤中,开始读取数据并将行生成到输出跳中)。这意味着您的三个流将按照从输入到输出的跳数并行执行。

如果您有三个单独的流,则在第二个输出步骤中不应看到第一个表中的字段。您是否在某个地方合并了流和/或复制了第一个表输出以创建第二个表?是的,我复制了这些步骤,但随后更改了我需要的内容,如表和select语句。很奇怪,您会看到另一个流中的字段。您能提供一个转换的屏幕截图吗?实际上,在同一个转换中使用多个流不是一个好主意。流之间的数据开始混乱。通常情况下,这几乎是不明智的,但如果数据量很大,那么这种影响就会开始出现。我可以确认这种行为,我在转换中使用简单的规则单流。@Cyrus我添加了屏幕截图。谢谢。如果您有3个单独的流,那么在第二个输出步骤中不应该看到第一个表中的字段。您是否在某个地方合并了流和/或复制了第一个表输出以创建第二个表?是的,我复制了这些步骤,但随后更改了我需要的内容,如表和select语句。很奇怪,您会看到另一个流中的字段。您能提供一个转换的屏幕截图吗?实际上,在同一个转换中使用多个流不是一个好主意。流之间的数据开始混乱。通常情况下,这几乎是不明智的,但如果数据量很大,那么这种影响就会开始出现。我可以确认这种行为,我在转换中使用简单的规则单流。@Cyrus我添加了屏幕截图。谢谢。我只看到行过滤器。步骤的名称是什么?对不起,步骤的名称是:“选择值”,我只看到行筛选器。步骤的名称是什么?对不起,步骤的名称是:“选择值”。谢谢您的回答。我以前见过这种情况,但是如果需要,如何在流程之间创建依赖关系呢?例如,最后两个进程插入到具有外键的表中。作业按顺序执行其步骤(除非您专门配置并行性)。将您的流放入单独的转换中,并在作业中首先放入父表trans,然后放入子表。谢谢您的评论。谢谢您的回答。我以前见过这种情况,但是如果需要,如何在流程之间创建依赖关系呢?例如,最后两个进程插入到具有外键的表中。作业按顺序执行其步骤(除非您专门配置并行性)。将您的流放入单独的转换中,并在作业中首先放入父表trans,然后放入子表。感谢您的评论。