如何使用informatica将多个文件加载到一个文件中

how to load multiple files into one file using informatica

我是信息学新手,我创建了一个映射,它使用表达式和排序器转换将多个文件加载到一个有 2 列的文件中

1 data
2 seq number

所有10个文件都有随机序号喜欢 例子: 文件 1

erfef 3
abcdn 1

文件 2

wewewr 4
wderfv 5

依此类推直到10个文件。

表达式转换代码为:

INTEGER(LTRIM(RTRIM(seq_num)),TRUE)

我想要的是将文件加载到一个大文件中,并根据seq编号排序。

输出文件中有数据,但序列号不正确。

如何在最终 table 中获取具有正确序列号的数据。

完全按照下面的解决方案中提到的进行操作,但仍然得到错误的输出。获得如下输出:

erfef 3
abcdn 1                                                                                                                                            
wewewr 4
wderfv 5

它应该如下所示:

                                                                       where as it should be like 

abcdn 1                                                                                                                                
erfef  3                                                                                                                          
wewewr 4  
wderfv 5

提前致谢!!!

使用文件列表的间接文件加载将所有文件一起加载。然后在 col2 上使用 sorter 对数据进行排序。最后使用目标文件存储数据。

整个映射应该是这样的-

SQ --> EXP--> SRT(key = col2) --> Target

注意事项 -

  • 在会话中,使用 indirect file 并使用列表文件名 - 提及 filelist1.txt
  • 在会前命令任务中使用 ls -1 file* >filelist1.txt 创建包含所有必需文件的文件列表。
  • 表达式转换 - 如果它在 SQ 中作为字符串出现,则将 col2 转换为 INTEGER。
  • 排序器转换 - 使用 col2 作为键列。

使用 indirect 文件源是一种方法。

另一种方法是使用 command 作为源并指定一个命令来从所有文件中吐出数据,例如 cat file*.csv.

只需将 Input Type 更改为 Command 并提供命令 - 所有这些都可以通过编辑 session -> mapping tab -> Source -> properties.

进行设置

这是一个示例会话: