使用Talend循环浏览.csv文件。

问题描述 投票:0回答:1

对Talend数据集成完全是个菜鸟。做过简单的事情,比如使用Talend将CSV加载到Oracle表中。以下是现在的需求,正在寻找一些想法来开始,请教。

要求:在Unix环境中,有一个文件夹,源程序每天早上5点推送.csv文件。它们的名称如下

Filename_20200301.csvFilename_20200302.csvFilename_20200303.csv......以此类推,直到今天。

我必须创建一个Talend Job,每天早上解析这些csv文件,并将它们加载到一个oracle表中,让我的BIreporting团队可以使用这些数据。这个表将被用作Lookup表,源头是确保不发送重复记录的csv.文件通常每天会有大约250-300行。计划是保持关注,如果行的数量在未来增加,那么也许会考虑限制日期的时间框架滚动12个月.目前我有从2020年3月1日开始到今天的文件.目标Oracle schematable总是相同的。

工具:Talend Data Fabric 7.1 Talend Data Fabric 7.1

我可以想到下面的步骤,但不知道如何开始的步骤1)和步骤2)1)连接到一个Unix服务器共享位置。我有服务器的详细信息UsernamePassword,但在Metadata中使用什么组件?2)通过上述位置上的文件解析。我应该使用TfileList吗?TFileInputDelimited在哪里? 3)也许在使用TDBOutput推送到oracle之前,使用Tmap进行一些清理改变数据类型。我已经在过去使用这些组件,只是要弄清楚如何插入到oracle表中,而不是truncateload。 

任何想法其他很酷的方法来做它,请。我走的是正确的道路吗? 

talend
1个回答
1
投票

对于第1步,你可以使用tFTPGet,它可以将你的文件从Unix服务器的共享位置保存到你的本地机器或工作服务器上。

然后对于第二步,如你所说,你可以使用tFileList和tFileInputDelimited的组合。

  • 将tFileList设置为现在保存文件的目录(基于步骤1)。
  • tFileList将遍历目录中的文件。
  • 接下来,tFileInputDelimited将逐一解析每个csv文件。
  • 之后,你可以通过tMap来进行任何你需要的转换,并将其写入你的Oracle数据库。另外一个可选择的步骤是tUnite,这样你就可以一次写进你的db中。

希望这对你有帮助。


0
投票

请使用下面的流程。

tFTPFileList --> tFileInputDelimited --> tMap --> tOracleOutput

如果您不是从本地服务器上获取文件,请使用tFileList代替tFTPFileList。

enter image description here

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.