Informatica 中的主外连接

Informatica 中的主外连接用于返回详细表中的所有现有记录以及主表中的匹配记录。

为了更好地理解,让我们看看 Informatica 中主外连接的视觉表示。

Master Outer Join

在本文中,我们将使用 Informatica 中的 Joiner Transformation 在两个 SQL 表上执行 Informatica 主外连接。在开始设计映射之前,让我们看一下我们要执行主外连接的两个源表。数据库中的 employees 表是

Left Table Source 1

数据库中的 Department 表

Right Table Source 2

Informatica 主外连接示例

在开始任何操作之前,首先使用您的 管理员控制台 凭据连接到存储库服务。

提示:请参考 常规连接详细外连接完全外连接 文章,以了解 Informatica 中的其余连接。

步骤 1:创建源定义

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

步骤 2:创建目标定义

请导航到 目标设计器 并定义目标。在此示例中,我们将使用已创建的 SQL 表(Informatica 中的主外连接)作为我们的目标定义。请参考 使用源定义创建 Informatica 目标表 以了解创建目标定义所涉及的步骤。

步骤 3:为 Informatica 主外连接创建映射

要创建新映射,请导航到菜单栏中的“映射”菜单,然后选择“创建...”选项。这将打开如下所示的“映射名称”窗口。对于此主外连接转换,您必须为此映射(m_Master_Outer)输入一个唯一的名称,然后单击“确定”按钮。

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

Master Outer Join 2

接下来,将 Employee 和 Department 源定义从“源”文件夹拖放到映射设计器。一旦您拖动源,PowerCenter Designer 将自动创建一个名为源限定符的默认转换。

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

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

Master Outer Join 3

单击“创建...”选项后,将打开如下所示的“创建转换”窗口。请从下拉列表中选择 Joiner 转换,为该转换指定唯一的名称(JNR_MASTER),然后单击“创建”按钮。

Master Outer Join 4

单击“创建”按钮后,Joiner 转换将添加到映射设计器。为了执行主外连接,Joiner 转换需要一些数据。

因此,我们必须使用 Autolink.. 选项(或选择并拖动所需的字段)将源定义连接到转换。

Master Outer Join in Informatica 5

双击 Joiner 转换以配置连接条件。从下面的屏幕截图可以看到“端口”选项卡中可用的选项列表。

  • M:请勾选您想用作主表的列。始终选择包含记录较少的那张表作为主表是一个好的做法。在这里,我们选择 Department 表作为我们的主表。

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

主外连接转换属性选项卡中可用的选项列表

  • 连接类型:在此示例中,我们执行主外连接。因此,我们从下拉列表中选择 Informatica 主外连接。
  • 已排序输入:如果我们使用已排序的数据,则勾选此选项。
Master Outer Join 8

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

Master Outer Join 9

完成配置 Joiner 转换 属性后,单击“确定”关闭转换窗口。

接下来,将目标定义从“目标”文件夹拖放到映射设计器,并将 Joiner 转换连接到目标定义。请使用 Autolink.. 选项将它们连接起来。

Master Outer Join in Informatica 10

在关闭 Mapping 之前,让我们通过转到“Mapping”菜单栏并选择“Validate”选项来验证 Mapping。

步骤 4:创建工作流

完成映射创建后,我们必须为 Informatica 主外连接创建工作流。PowerCenter Workflow Manager 提供两种创建工作流的方法。

在此主外连接示例中,我们将手动创建工作流。要创建新工作流,请导航到“工作流”菜单并选择“创建”选项。这将打开如下所示的“创建工作流”窗口。

请为此主外连接转换工作流提供唯一的名称(wf_Master_Outer),并保留默认设置。

创建主外连接工作流后,我们的下一步是创建会话。

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

步骤 4(a):为 Informatica 中的主外连接创建会话

有两种类型的会话

对于此 Informatica 主外连接示例,我们将创建一个非可重用会话。请导航到“任务”菜单并选择“创建”选项以打开“创建任务”窗口。在这里,您必须选择“会话”作为任务类型(默认),并为此会话输入一个唯一的名称(S_Master_Outer)。

单击“创建”按钮后,将打开一个名为“映射”的新窗口。在这里,您必须选择要与此会话关联的映射。从下面的屏幕截图可以看出,我们正在选择我们之前(在步骤 3 中)创建的映射(m_Master_Outer)。

双击会话任务进行配置。尽管我们必须配置源、目标和一些通用属性,但我们仅解释其中几个属性。我们强烈建议访问 会话 文章以了解其余属性。

我们将 $target 变量分配给 Connection Value,将 Target Load Type 选项从 Bulk 模式更改为 Normal 模式,并勾选 Truncate target table 选项以截断目标表中的现有数据。

Assign Target table variable options 13

从下面的屏幕截图可以看出,Informatica 主外连接工作流是有效的。现在,让我们通过导航到“工作流”菜单并选择“启动工作流”选项来启动工作流。

选择“启动工作流”选项后,将打开 PowerCenter Workflow monitor 来监视工作流。从下面的屏幕截图可以看出,我们的工作流已成功执行,没有任何错误。

Master Outer Join in Informatica 15

让我们打开 SQL Server Management Studio,检查我们是否通过 Joiner Transformation 成功执行了主外连接。

Destination Table Output 16