合并Talend中各种文件的列

时间:2017-02-21 09:49:55

标签: talend talend-mdm

我正在尝试使用Talend实现文件夹中文件的列合并。(文件是本地的)

示例: - 文件夹中有4个文件。 (也可能有' n'文件数量)

每个文件都有一列有100个值。

因此,在合并之后,输出文件将具有4或者' n'其中包含100条记录的列数。

是否可以使用Talend组件以这种方式合并?

在tmap中尝试了2个文件,输出记录成倍增加(第一个文件中的记录*第二个文件中的记录)。

任何帮助都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

您必须确定如何连接不同文件中的数据。 如果每个文件的行号N必须与其他文件的行号N匹配,则必须在每个文件上设置序列,并加入序列以获得结果。小心,你完全依赖于每个文件中的数据顺序。

然后你就可以完成这份工作:

tFileInputdelimited_1 --> tMap_1 --->{tMap_5
tFileInputdelimited_2 --> tMap_2 --->{tMap_5
tFileInputdelimited_3 --> tMap_3 --->{tMap_5
tFileInputdelimited_4 --> tMap_4 --->{tMap_5

在1到4的tMaps中,将输入复制到输出,并在输出中添加“sequence”列(数据类型整数),并使用Numeric.sequence("IDENTIFIER1",1,1)填充它。然后输出中有2列:您的数据和唯一序列。 小心为每个源使用不同的标识符。

然后在tMap_5中,只需加入不同的序列,然后获取inputColumn。