Informatica 中的 Joiner 转换

Informatica 中的 Joiner 转换用于执行 SQL 连接。Informatica 中有四种连接类型:内连接(普通连接)、主外连接、明细外连接和全外连接。Joiner 转换对于将数据加载到数据仓库的维度表中非常有用。

在本文中,我们将使用 Informatica 中的 Joiner 转换对两个 SQL 表执行普通连接。在开始设计 Mapping 之前,让我们先看看我们将要执行普通连接的两个源表。

此 Informatica 转换中有四种连接类型

普通连接:Informatica 中的普通连接转换与 SQL Inner 完全相同。如果列之间至少有一个匹配项,它将返回两个表中都存在的记录(或行)。让我们看看普通连接的视觉表示,以便更好地理解。

Normal Join

数据库中的 Employees 表是

中的 Department 表

Informatica Joiner 转换示例

在开始任何操作之前,首先连接到 Informatica 存储库服务。要连接到存储库服务,我们需要提供管理员控制台凭据,因此,请提供正确的用户名和密码,然后单击下面的“连接”按钮。

提示:这里,您必须提供安装服务器时指定的管理员用户名和密码。

步骤 1:创建源定义

成功连接后,请导航到 Source Analyzer 并定义您的源。在此 Informatica Joiner 转换示例中,我们将使用 SQL Server 数据库中的 Department 和 Employee 表作为我们的源定义。请参阅 Database Source 以了解创建源定义所涉及的步骤。

步骤 2:为 Joiner 创建目标定义

请导航到 Target Designer 并定义目标。在此示例中,我们将使用已创建的 SQL 表(Informatica 中的 Joiner Transformation)作为我们的目标定义。请参阅 Create Target table using Source Definition 以了解创建目标定义所涉及的步骤。

步骤 3:在 Informatica Mapping 中创建 Joiner 转换

要创建 Joiner 转换的新 Mapping,请导航到菜单栏中的“Mappings”菜单,然后选择“Create..”选项。这将打开如下所示的 Mapping Name 窗口。您必须为此 Mapping(m_Joiner_transformation)输入一个唯一的名称,然后单击“OK”按钮。

提示:请参阅 Mapping 文章以了解创建 Mapping 所涉及的步骤。

接下来,将 Employee 和 Department 源定义从 Sources 文件夹拖放到 Mapping Designer。拖动源后,PowerCenter Designer 将自动创建一个名为 source qualifier 的默认转换。

步骤 3(a):在 Informatica 中创建 Joiner 转换

要创建 Joiner 转换,请导航到菜单栏中的“Transformation”菜单,然后选择“Create..”选项,如下所示。

Joiner Transformation 4

单击“Create..”选项后,将打开“Create Transformation”窗口,如下所示。请单击箭头从下拉列表中选择所需的项。让我们选择 Informatica Joiner 转换。

Joiner Transformation in Informatica 6

接下来,请为此 Joiner Transformation(JNR_NORMAL)指定一个唯一的名称,然后单击“Create”按钮。

Joiner Transformation in Informatica 7

单击“Create”按钮后,Joiner 转换将添加到 Mapping Designer。要执行普通连接,Joiner 转换需要一些数据。因此,我们必须使用 Autolink.. 选项将源定义连接到转换(或选择并拖动所需的字段)。

Joiner Transformation in Informatica 8

双击 Informatica Joiner 转换以配置连接条件。从下面的屏幕截图,您可以看到转换选项卡中可用的属性列表。

  • 选择转换:默认情况下,它将选择您单击的转换。
  • 重命名:此按钮将帮助您将其重命名为更具意义的名称。
  • 设为可重用:如果选中此选项,它将成为可重用的转换。
  • 描述:请提供有效的描述。

Informatica Joiner 转换 Ports 选项卡中可用选项的列表

  • 端口名称:可用列名称列表。通过单击“New Column”按钮,您可以添加新列,剪刀按钮会删除不需要的列。
  • I:此部分下带有复选标记的列是输入列。
  • O:此部分下带有复选标记的列是 Joiner 转换的输出列。如果您取消选中任何列,那么该列将无法加载到目标表中。
  • M:请选中您要用作主表的列。选择记录数较少的表作为主表始终是一个好习惯。在这里,我们将 Department 表选为我们的主表。

注意:您不必选择主表中的每一列。假设您从 Employee 中选择一列。它将自动选择其余列。

下面的屏幕截图将显示 Informatica Joiner 转换 Properties 选项卡中可用选项的列表。

  • 连接类型:在此示例中,我们执行普通连接,从下拉列表中选择普通连接。
  • 已排序输入:如果我们使用已排序的数据,请选中此选项。
Joiner Transformation 11

在 Condition 选项卡中,我们必须指定条件。在此示例中,我们将基于条件 Department.id = Employee.Depart Id 对 Department 和 Employee 表执行普通连接。因此,单击“New”按钮(在剪刀旁边)以创建新条件,并从主表和详细列表选择列名。

完成配置 Informatica Joiner 转换属性后,单击 OK 关闭窗口。

接下来,将目标定义从 Targets 文件夹拖放到 Mapping Designer,并将 Joiner 转换与目标定义连接。请使用 Autolink.. 选项将它们连接起来。

Joiner Transformation in Informatica 13

在关闭 Mapping 之前,让我们通过转到 Mapping Menu bar 并选择 Validate 选项来验证 Joiner 转换 Mapping。

步骤 4:创建工作流

完成 Mapping 的创建后,我们必须创建工作流。PowerCenter Workflow Manager 提供了两种创建工作流的方法。

在此 Informatica Joiner 转换示例中,我们将手动创建工作流。要创建新工作流,请导航到 Workflows 菜单并选择 Create 选项。这将打开如下所示的 Create Workflow 窗口。请提供唯一名称(wf_joiner_transformation)并保留默认设置。

创建工作流后,我们的下一步是为 joiner 转换创建会话。

注意:我们强烈建议参考 Workflow 文章以了解手动创建工作流所涉及的步骤。

步骤 4(a):创建 Session

有两种类型的会话

  • 不可重用 Session 任务:请参阅 Session 文章以了解其中涉及的步骤。
  • 可重用 Session 任务:请参阅 Reusable Session 文章以了解其中涉及的步骤。

对于此 Informatica Joiner 转换示例,我们将创建一个不可重用的 Session。要创建不可重用的 Session,请导航到 Tasks 菜单并选择 Create 选项以打开 Create Task 窗口。您必须在此处选择 Session 作为 Task 类型(默认),并为 Session 输入一个唯一的名称。

单击 Create 按钮后,将打开一个名为 Mappings 的新窗口。您必须在此处选择要与此 Session 关联的 Mapping。例如,从下面的屏幕截图中,您可以看到我们正在选择之前(在步骤 3 中)创建的 Mapping。

双击 Session Task 以配置 Informatica 中的 Joiner 转换。虽然我们需要配置一些通用属性,但我们只解释源和目标属性。我们强烈建议访问 Session 文章以了解其余属性。

Employee Source

在 Connections 中,选择关系类型旁边的箭头按钮以打开 Relational Connection Browser,如下所示。在这里,我们的 Employee 表来自 Source。我们使用的是我们在上一步中创建的 Connection 变量,即 $Source。

Informatica Joiner 转换的 Department Source

在 Connections 中,选择关系类型旁边的箭头按钮以打开 Relational Connection Browser,如下所示。在这里,我们的 Department 表来自 Source,因此我们使用的是我们在上一步中创建的 Connection 变量,即 $Source。

从下面的屏幕截图,您可以看到我们已将 $target 变量分配给 Connection Value。此外,我们将 Target Load Type 选项从 Bulk 更改为 Normal 模式,并选中 Truncate target table 选项以从目标表中截断现有数据。

从下面的屏幕截图,您可以看到 Joiner 转换工作流是有效的。让我们通过导航到 Workflows 菜单并选择 Start Workflow 选项来启动工作流。

Joiner Transformation in Informatica 19

选择 Start Workflow 选项后,将打开 PowerCenter Workflow monitor 来监视工作流。例如,从下面的屏幕截图中,您可以看到我们的 Informatica Joiner 转换工作流已成功执行,没有任何错误。

Joiner Transformation 20

让我们打开 SQL Server Management Studio,检查我们是否成功使用了 Joiner 转换执行了普通连接。