Talend for DI - 如何将未知数量的输入文件合并为一个 table?
Talend for DI - How to join unknown amount of input files into one table?
我有一个主要输入 table,其中包含 'header' 数据,例如 ID、姓名、日期......
我还有一个子作业 CALC dat 根据 MAIN 的日期按月计算值 --> 子作业存储一个新的 table 列:[month_1], ...., [month_12]、[TOTAL_YEAR] 到一个新的 .dat 文件(由 tCacheOutput 存储)中,其中包含 Parent 作业的名称和当前年份。
例如:Parent工作=PARENT
PARENT 将一些 header 数据保存到缓存文件 PARENT.dat 中,其中包含:[id]、[name]、[date]、[value],然后调用子作业 CHILD.
CHILD 遍历年(我通过 tFixedFlowInput 提供它们)并从 PARENT.dat 文件中获取数据。然后它检查年份 (f.ex. 2016) 和月份,并生成一个新的 table (使用 tMap) [month_1], [month_2],... ,[month_12],[total] 并将其存储到名为 PARENT_2016 的新 .dat 文件中。
每年重复此过程,我们希望获得...
回到 Parent 工作后,我现在必须对 PARENT.dat、PARENT_2016、... 文件中包含的数据进行分组。
我的问题是如何找到生成的所有文件并简单地将 'glue them together' 合并为一个大文件 table?
我知道我可以每年手动创建输入 (tCacheInput),然后使用 tMap 将它们组合起来,但我事先不知道模式(因为我不知道工作需要检查多少年)并且我不想每年都手动输入...
您需要使用 tFileList。
并放入过滤器:"PARENT*"
这将获取文件夹中具有模式 PARENT 的所有文件
我有一个主要输入 table,其中包含 'header' 数据,例如 ID、姓名、日期...... 我还有一个子作业 CALC dat 根据 MAIN 的日期按月计算值 --> 子作业存储一个新的 table 列:[month_1], ...., [month_12]、[TOTAL_YEAR] 到一个新的 .dat 文件(由 tCacheOutput 存储)中,其中包含 Parent 作业的名称和当前年份。
例如:Parent工作=PARENT
PARENT 将一些 header 数据保存到缓存文件 PARENT.dat 中,其中包含:[id]、[name]、[date]、[value],然后调用子作业 CHILD.
CHILD 遍历年(我通过 tFixedFlowInput 提供它们)并从 PARENT.dat 文件中获取数据。然后它检查年份 (f.ex. 2016) 和月份,并生成一个新的 table (使用 tMap) [month_1], [month_2],... ,[month_12],[total] 并将其存储到名为 PARENT_2016 的新 .dat 文件中。 每年重复此过程,我们希望获得...
回到 Parent 工作后,我现在必须对 PARENT.dat、PARENT_2016、... 文件中包含的数据进行分组。
我的问题是如何找到生成的所有文件并简单地将 'glue them together' 合并为一个大文件 table? 我知道我可以每年手动创建输入 (tCacheInput),然后使用 tMap 将它们组合起来,但我事先不知道模式(因为我不知道工作需要检查多少年)并且我不想每年都手动输入...
您需要使用 tFileList。 并放入过滤器:"PARENT*"
这将获取文件夹中具有模式 PARENT 的所有文件