Talend 数据集成组件和连接器17 Mar 2025 | 6 分钟阅读 在本节中,我们将学习在创建作业时使用的数据集成组件和连接器。 连接器和组件在 Talend 中执行所有操作,它提供了 800 多个连接器和组件来执行多种操作。 组件位于调色板面板中,共有 21 个主要类别,属于这些组件。 通过在设计器面板中拖放,我们可以选择连接器,它会自动创建 java 代码。 之后,保存 Talend 代码并执行。 我们在下图显示了调色板面板中可用的组件列表,  上述列表被广泛用作 Talend 数据集成的连接器和组件。 让我们看一些 Talend Studio 中数据集成常用的组件, 数据集成组件 | 描述 |
---|
tMysqlConnection | 它用于连接组件中定义的 MySQL 数据库。 | tMysqlInput | 它用于运行数据库查询以读取数据库并根据查询提取字段(表、视图等)。 | tMysqlOutput | 它用于在 MySQL 数据库中写入、更新和修改数据。 | tFileInputDelimited | 它逐行读取分隔符文件,将其分割成单独的字段,然后将其传递给下一个组件。 | tFileOutputDelimited | 它用于根据定义的模式在分隔符文件中获取输入数据的输出。 | tFileInputExcel | 它逐行读取 Excel 文件,将其分割成单独的字段,然后将其传递给下一个组件。 | tFileOutputExcel | 它用于根据定义的模式以不同的数据值写入 MS Excel 文件。 | tFileList | 它用于从给定的文件掩码模式中获取所有文件和目录。 | tFileArchive | 它用于将一组文件或文件夹压缩成 zip、gzip 或 tar.gz 存档文件。 | tRowGenerator | 它提供了一个编辑器,我们可以在其中编写函数或选择表达式来生成我们的样本数据。 | tMsgBox | 它返回一个带有指定消息和一个 OK 按钮的对话框。 | tLogRow | 它用于监控正在处理的数据。它始终在运行控制台中显示数据/输出。 | tPreJob | 它定义了将在实际作业开始之前运行的子作业。 | tMap | tMap 用于将来自单个或多个源的数据转换并路由到单个或多个目标。 | tJoin | 它用于通过在主流和查找流之间执行内连接和外连接来连接两个表。 | tJava | 它允许您在 Talend 程序中使用个性化的 java 代码。 | tRunJob | 它用于通过运行一个 Talend 作业接一个作业来管理复杂的作业系统。 | tCloudStart | 它用于启动 AmazonEC2(Amazon Elastic Compute Cloud)上的实例 | tCloudStop | 它用于更改 Amazon EC2(Amazon Elastic Compute Cloud)上已启动实例的状态 | tDotNETInstantiate | 它用于调用 .NET 对象的构造函数,该构造函数旨在供以后重用。 | tDotNETRow | 它帮助我们通过使用自定义或内置的 .NET 类来转换数据。 | tDB2Connection | 它用于打开指定数据库的连接,该连接可以在后续的子作业或子作业中重用。 | tFileFetch | 它用于通过给定的协议(HTTP、HTTPS、FTP 或 SMB)检索文件。 | tFTPClose | 它帮助我们关闭活动的 FTP 连接以释放占用的资源。 | tFTPConnection | 它用于打开 FTP 连接以在单个事务中传输文件。 | tFTPDelete | 它用于删除 FTP 服务器上指定目录中的文件或文件夹。 | tFileInputJSON | 它用于从文件中提取 JSON 数据,并将数据传输到文件、数据库表等。 | tFileOutputJSON | 它帮助我们接收数据并将其以 JSON 结构化数据块的形式重写到输出文件中。 | tFileInputXML | 它逐行读取与 XML 结构相关的文件,将其分解成字段,并将模式中定义的字段发送到下一个组件。 | tFileOutputXML | 它根据定义的模式以分隔的数据值写入 XML 文件。 | tReplicate | 它用于将传入的模式复制到两个相同的输出流中。 |
连接器 行行连接器用于维护实际数据流,以下是一些行连接器: - 主函数
- 查找
- Filter
- Rejects
- ErrorRejects
- 输出
- Unique/duplicates
- Multiple input/output
主函数 最常用的行连接是 Main,因为它有助于将数据流从一个组件传递到另一个组件,并根据组件属性设置对每一行进行迭代或读取输入数据。 注意 我们不能通过 Main 行连接来连接两个输入组件。 每个组件最多允许一个传入的行连接,因为我们无法使用 Main 行连接两次链接相同的目标组件。第二个行连接称为Lookup。 要使用 Main 行连接来连接两个组件, 右键单击输入组件,然后在连接列表中选择Row → Main,如下图所示,  或者, 我们可以单击组件以突出显示它,然后右键单击它或单击它旁边可见的 O 图标,然后将光标拖向目标组件,这会自动创建一个Row → Main类型的连接。 查找 当我们想连接多个输入流时,使用 Lookup 行连接。 它是主流程组件的一个子流程组件,这意味着它允许接收多个传入流。 要连接查找行连接,请右键单击需要更改的行,然后会弹出一个菜单,然后单击Set this connection as Main 将查找行转换为主行,如下图所示,  Filter filter 行连接专门用于将 tFilterRow 组件连接到输出组件。它用于收集符合过滤条件的数据。 Rejects Rejects 行连接用于将处理组件连接到输出组件。 它用于收集不符合过滤器或不符合预期输出的数据。 它还允许我们跟踪由于数据类型错误、未定义空值等原因无法处理的数据。 当 Die on error 选项被禁用时,reject 连接将被启用。 ErrorRejects ErrorRejects 连接用于将 tMap 组件连接到输出组件。 当我们在 tMap 编辑器中清除 Die on Error 复选框时,它将被启用,并且它会收集某些组件上无法处理的数据。 输出 output 行连接用于将 tMap 组件连接到一个或多个输出组件。 Unique/Duplicate unique/duplicate 行连接用于将 tUniqRow 连接到输出组件。 Unique 行连接用于收集在传入流中首先找到的行,并且此唯一数据流被定向到相关的输出组件,否则定向到另一个处理子作业。 Duplicate 行连接用于收集第一个相关行的可能的重复项。 Multiple input/output 这种行连接用于通过各种输入和输出来处理数据。 合并 combine 行连接用于将一个 CombinedSQL 组件连接到另一个。 迭代 要对目录中包含的文件、文件中的行或数据库条目执行循环,可以使用 iterate 连接器。 它主要用于连接子作业的流程星形组件。 触发器 触发器连接器用于在作业和子作业之间创建依赖关系,这些作业或子作业根据触发器的性质按顺序触发。  Talend 中有两种触发器可用 - Subjob triggers
- Component triggers
Subjob triggers | 描述 |
---|
OnSubjobOK | 它用于在子作业无错误完成的条件下触发下一个子作业。 | OnSubjobError | 当第一个(主)子作业未正确完成时,它用于触发下一个子作业。 | Run if | 当满足条件时,它会触发一个子作业或一个组件。 |
Component triggers | 描述 |
---|
OnComponentOk | 此类型的连接用于在源组件执行无错误完成时触发目标组件。 | OnComponentError | 当主作业中遇到错误时,它将触发子作业或组件。 |
链接 link 连接器仅与 ETL 组件一起使用。此类型的连接不处理实际数据,只处理与操作表相关的元数据。
|