如何使用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
.
进行设置
这是一个示例会话:
我是信息学新手,我创建了一个映射,它使用表达式和排序器转换将多个文件加载到一个有 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
.
这是一个示例会话: