Talend 数据集成组件和连接器

17 Mar 2025 | 6 分钟阅读

在本节中,我们将学习在创建作业时使用的数据集成组件和连接器。

连接器和组件在 Talend 中执行所有操作,它提供了 800 多个连接器和组件来执行多种操作。

组件位于调色板面板中,共有 21 个主要类别,属于这些组件。

通过在设计器面板中拖放,我们可以选择连接器,它会自动创建 java 代码。

之后,保存 Talend 代码并执行。

我们在下图显示了调色板面板中可用的组件列表,

Talend Data Integration Components and Connectors

上述列表被广泛用作 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它定义了将在实际作业开始之前运行的子作业。
tMaptMap 用于将来自单个或多个源的数据转换并路由到单个或多个目标。
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它用于将传入的模式复制到两个相同的输出流中。

连接器

  • 迭代
  • 触发器
  • 链接
Talend Data Integration Components and Connectors

行连接器用于维护实际数据流,以下是一些行连接器:

  • 主函数
  • 查找
  • Filter
  • Rejects
  • ErrorRejects
  • 输出
  • Unique/duplicates
  • Multiple input/output

主函数

最常用的行连接是 Main,因为它有助于将数据流从一个组件传递到另一个组件,并根据组件属性设置对每一行进行迭代或读取输入数据。

注意
我们不能通过 Main 行连接来连接两个输入组件。
每个组件最多允许一个传入的行连接,因为我们无法使用 Main 行连接两次链接相同的目标组件。

第二个行连接称为Lookup

要使用 Main 行连接来连接两个组件,

右键单击输入组件,然后在连接列表中选择Row → Main,如下图所示,

Talend Data Integration Components and Connectors

或者,

我们可以单击组件以突出显示它,然后右键单击它或单击它旁边可见的 O 图标,然后将光标拖向目标组件,这会自动创建一个Row → Main类型的连接。

查找

当我们想连接多个输入流时,使用 Lookup 行连接。

它是主流程组件的一个子流程组件,这意味着它允许接收多个传入流。

要连接查找行连接,请右键单击需要更改的行,然后会弹出一个菜单,然后单击Set this connection as Main 将查找行转换为主行,如下图所示,

Talend Data Integration Components and Connectors

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 Data Integration Components and Connectors

Talend 中有两种触发器可用

  • Subjob triggers
  • Component triggers
Subjob triggers描述
OnSubjobOK它用于在子作业无错误完成的条件下触发下一个子作业。
OnSubjobError当第一个(主)子作业未正确完成时,它用于触发下一个子作业。
Run if当满足条件时,它会触发一个子作业或一个组件。

Component triggers描述
OnComponentOk此类型的连接用于在源组件执行无错误完成时触发目标组件。
OnComponentError当主作业中遇到错误时,它将触发子作业或组件。

链接

link 连接器仅与 ETL 组件一起使用。此类型的连接不处理实际数据,只处理与操作表相关的元数据。


下一个主题使用项目