文件拆分为不同的文件

File splitting to different files

我有一个包含以下格式数据的文件

Col1
1,a,b,c
1,e,f,g,h,j
2,r,t,y,u,i.o
2,q,s,d,f
3,q,a,s,l
4,r,y,u,p,o
4,o,l,j,f,c,g,b,c
4,d,f,q,
.
.
.
97,w,e,r
3,f,g
100,q,a,x,c

现在我想将此文件拆分为 100 个不同的文件,以便每个文件都有基于第一列的数据。示例 - 第一个文件应该只包含第一列中值为 1 的数据,第二个文件应该包含第二列中以 2 开头的数据,依此类推,直到 100 个文件。

请告诉我 Informatica、Unix 或 teradata 中的方法

看起来很简单...在平面文件目标上使用文件名端口,并使用端口 filename_out 动态创建表达式转换作为第一列值的派生值,例如"FileOut" ||端口1 || “.dat”

然后将 filename_out 的输出端口连接到目标

上文件名的输入端口

请使用事务控制转换来生成关于列值的多个文件。

Take a variable port 
V_curr - Col1
V_prev - Col1
V_flag = IIF(V_curr = V_prev,0,1)

Now import transaction control transformation and pass the pipeline.
In properties, Transaction Control Condition type,
IIF(V_flag =0, TC_COMMIT_BEFORE, TC_CONTINUE_TRANSACTION)

执行工作流后,将生成多个关于 Col1 的文件。

供参考 - https://kb.informatica.com/h2l/HowTo%20Library/1/0114-GeneratingMultipleTargetsFromOneTargetDefinition.pdf

同时检查 - https://etlinfromatica.wordpress.com/

谢谢