使用Talend循环浏览.csv文件

时间:2020-04-17 11:00:01

标签: talend

在这里通常对Talend / Data Integration完全没有知识。完成了一些简单的事情,例如使用Talend将CSV加载到Oracle表中。下面是现在的要求,请寻找一些入门的想法

请求: 在Unix环境中有一个文件夹,源应用程序在该文件夹中Daily @ 5AM推出.csv文件。它们的名称如下

Filename_20200301.csv 文件名_20200302.csv 文件名_20200303.csv 。 。 等等直到今天。

我必须每天早上创建一个Talend Job来解析这些csv文件,并将它们加载到oracle表中,我的BI /报告团队可以在其中使用数据。该表将用作查找表,并且源确保未在csv中发送重复的记录。 这些文件通常每天大约有250-300行。计划是保持警惕,如果将来行的数量增加,则可以考虑将日期的时间范围限制为12个月。 目前我有从2020年3月1日到今天的文件。 目标Oracle模式/表始终相同。

工具:Talend Data Fabric 7.1

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

请采取任何其他想法/其他酷方法。我走的路正确吗?

2 个答案:

答案 0 :(得分:1)

对于步骤1,可以使用tFTPGet,它将把文件从Unix服务器/共享位置保存到本地计算机或作业服务器。

然后对于第2步,正如您所提到的,可以结合使用tFileList和tFileInputDelimited

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

希望这会有所帮助。

答案 1 :(得分:0)

请使用以下流程

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

如果您不是从本地服务器上选择文件,请使用tFileList而不是tFTPFileList

enter image description here