Abinitio:将数据写入目标表

时间:2019-03-15 17:03:21

标签: ab-initio

我是Abinitio的新手,我需要以下帮助。

表1中的列:

Col1

Col2

Col3

表2中的列:

col 4

col5

我正在使用join组件,也正在重新格式化组件,并将输出作为col2,col3,col4,col5。我将其写入具有

的目标表中

id,col2,col3,col4,col5,created_by,created_date_time,last_modified_date。

因为我从连接组件的输出中获得了col2,col3,col4,col5的数据,但没有ID,created_by,created_date_time,last_modified_date的数据。

如何使用abinitio添加它。如果已经讨论过这种基本问题,对此表示感谢,并深表歉意。

致谢。

3 个答案:

答案 0 :(得分:0)

您可以将REFORMAT组件连接到JOIN组件的输出流。 REFORMAT组件中的转换函数可以使用通配符规则out。* :: in。*来传递col2,col3,col4,col5值。输出表中的其余列也应出现在REFORMAT组件的输出端口的DML中,因此您可以在REFORMAT的转换函数中将数据分配给这些列,例如。 G。 out.created_by ::“东西”。

答案 1 :(得分:0)

在join组件连接了reformat组件之后,在reformat组件的ports部分中,通过添加输出中需要的所有相关列来更改输出端口的dml,然后按如下所示更改reformat组件的转换功能: 1.对于join的所有传入值,请使用out。* :: in。* 2.对于在dml的out端口中添加的所有其他列,请使用out.column_name ::“需要传递的值”为值赋值

答案 2 :(得分:0)

在连接组件中,只需为所有必需的列编写转换。在join的输出端口dml(embedded)中包含id,created_by,created_date_time,last_modified_date。对于col2,col3,col4,col5您可以从相应的输入列进行映射,并为id,created_by,created_date_time,last_modified_date添加所需的转换。因此,您可以避免使用一种额外的重新格式化组件。