本节将介绍如何在 Talend 中创建具有多个示例的全局上下文组。上下文组有两种类型:本地和全局。本地上下文组属于我们创建的作业。但是,全局上下文组可以在多个作业中使用。例如,您可以创建一个上下文组来存储所有数据库连接。然后,您可以在所有需要连接到此数据库的作业中使用它们。
Talend 的全局上下文组概念非常直接且功能强大。在实际工作中,它在作业设计中扮演着重要角色,因为文件路径、数据库连接等在开发和生产环境之间是不同的。因此,一旦您将项目迁移到生产环境,就必须更改作业中的这些值。这不是一个可行或推荐的选项,如果您有全局上下文组,那么您可以在此处进行更改,它将更新所有作业。
创建 Talend 全局上下文组示例
要创建一个全局的,右键单击“上下文”文件夹,然后从菜单中选择“创建上下文组”。

单击 Talend 的“创建上下文组”选项将打开以下窗口。请填写名称、此上下文组的目的以及上下文组变量的简要说明。

此 Talend 页面允许您添加上下文变量、类型和值。我们已根据以下屏幕截图添加了登录名、密码、服务器(SQL Server 实例名称)、数据库和数据库架构。这些变量有助于连接到 SQL Server Prasad 实例中的 AdventureWorks 2014 数据库。

现在您可以看到新创建的全局上下文组。右键单击它可以编辑或删除该组。

创建 Talend 全局上下文组的第二种方法
还有另一种创建全局上下文组的方法。在创建连接时,您可以将该设置导出为上下文组。在此示例中,我们将展示相同的过程。
首先,右键单击“Db 连接”,然后在上下文菜单中选择“创建连接”。我们已经在 连接 Talend 到 SQL Server 文章中解释了所有选项,因此请参考该文章。

“创建连接”选项将打开以下窗口。我将名称指定为 AdventureWorks_Con,将其余字段留空,然后单击“下一步”按钮。

在第二页上,我们填写了连接 AdventureWorksDW 2014 所需的所有详细信息。
在单击“完成”按钮之前,请单击“导出为上下文”按钮。此按钮在许多地方都可用,无论您在哪里单击它,它都将帮助您将所有值导出到上下文组。

单击“导出为上下文”按钮将打开以下窗口。请选择“创建新的存储库上下文”以创建 Talend 全局上下文组。您可以选择第二个选项来重用现有的上下文组。

请为该上下文组指定一个唯一的名称。

从下面的屏幕截图中,您可以看到所有导入的上下文变量。在这里,您可以将“默认上下文环境”从“默认”更改为“生产”或其他内容,以指定此环境的设置。
单击“完成”按钮以完成 Talend 全局上下文组的创建。

单击“完成”按钮以创建数据库连接。

从下面的屏幕截图中,您可以看到本文中创建的两个上下文组以及新的 Db 连接。

在 Talend 作业中使用全局上下文组
请拖放 tDBInput 组件,并将数据库选择为 Microsoft SQL Server。下图显示了您需要填写的选项。

接下来,转到“上下文”选项卡以添加上下文变量或组。在此选项卡中添加的任何内容都属于此作业,我们称之为本地上下文组。这是我们可以从存储库中将 Talend 全局上下文组添加到此处的地方。因此,我将全局上下文组从存储库拖放到此选项卡。
从下图可以看出,连接 Adventure Works 数据仓库所需的上下文变量。

请输入“context”,然后输入一个点,然后按“control + space”按钮以显示建议。我建议您为每个属性分配正确的值。如果您仔细看,我们通过键入 DimProduct 并编写 select 语句来选择所有产品,从而选择了 DimProduct 作为表名。接下来,我们单击“猜测模式”按钮来提取模式。

另一个选项是将模式从“内置”类型更改为“存储库”,然后使用“浏览”按钮选择表名。
这里我们使用的是内置模式,所以点击“浏览”打开下图窗口,查看表中的模式或列。请使用此窗口根据您的需求更改列的顺序。

我将添加 tLogRow,并使用表模型运行 Talend 全局上下文组作业。下面您可以看到表的输出。
