我想知道这是一艘在Talend以下问题最好的策略:战略装载一组文件在Talend
- 我需要从一组分隔的文件存储在一个加载数据(SAMPLE1.DAT,SAMPLE2.DAT,...,SAMPLEX.DAT)名称的目录
- 目标将是MySQL数据库中的表
- 我必须一次加载所有数据,因为在执行此任务之后,我需要使用同一表中的所有记录
我有点困惑,因为我不知道在Talend中是否可能。我正在看到tFileInputDelimited组件,但我没有找到解决问题的方法。
感谢
我想知道这是一艘在Talend以下问题最好的策略:战略装载一组文件在Talend
我有点困惑,因为我不知道在Talend中是否可能。我正在看到tFileInputDelimited组件,但我没有找到解决问题的方法。
感谢
要从一个目录中读取多个文件,可以使用tFileList组件。它允许你指定一个目录和一个文件名模式。与该模式匹配的目录中的所有文件将被一个接一个地处理。
您需要使用tFileList组件中的“Iterate”链接到描述您想要对每个文件执行什么操作的组件。在你的情况下,你可以从一个tFileInputDelimited组件开始(读取文件)并将它的主输出连接到一个tMysqlOutput组件。默认情况下,MySQL组件会将数据追加到现有的表中,这样就可以得到您想要的结果。
在tFileInputDelimited组件中,您不会使用固定的文件名,而是使用由tFileList组件为每次迭代(您的循环变量,可以这么说)设置的变量文件名。该循环变量的名称可以在工作室的“轮廓”视图中看到,通常位于左下角。
你会使用组件tFileInputDelimited到TMAP(可选)为tmysqlOutput
第1步:配置一些组件就是这样,除非您将使用分隔的文件输入:
步骤2:配置分隔文件的组件设置,单击向导的磁盘:
第3步:通过在元数据数据库连接右键单击配置数据库,然后按照向导:
第4步:右键单击每个组件,然后选择行>首页>拖动到下一步流动。
第5步:打开您的tMap并将文件模式中的列映射到数据库模式。
第6步:运行该作业,如果您已遵循所有向导,如果有错误只是悬停在红色组件上,它通常会描述错误,它应该工作。你会看到作业运行了多少记录。
第7步:你已经远远作出后,创建具有相同的架构作为输入tfiledelimited
输出,右键点击输入选择行>拒绝并拖动到新的分隔式输出,这是哪里并且将会发送被tmap
拒绝的记录。