Informatica 中的全外连接

Informatica 中的全外连接是 Joiner 转换中可用的另一种选项,用于返回主表和详细表中的所有现有记录。

让我们看看 Informatica 中全外连接的视觉表示,以便更好地理解。

Informatica Full Outer Join

在本文中,我们将使用 Joiner 转换在两个 SQL 表上执行 Informatica 全外连接。在我们开始设计映射之前,让我们先看看我们将要在 Informatica 中执行全外连接的两个源表。

数据库中的 Department 表是

Left Table Source 2

数据库中的Employees表是

Right Table Source 1

Informatica 全外连接示例

在开始配置 Informatica 全连接之前,首先使用您的 管理员控制台 凭据连接到存储库服务。

提示:请参阅 普通连接主外连接详细外连接 文章以了解其余连接。

步骤 1:在 Informatica 中创建全外连接的源定义

成功连接后,请导航至 源分析器 并定义您的源。在此 Informatica 全外连接示例中,我们使用 SQL Server 数据库中的 Department 和 Employee 表作为我们的源定义。

请参阅 数据库源 以了解创建源定义所涉及的步骤

步骤 2:在目标定义中创建 Informatica 全外连接

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

步骤 3:创建 Informatica 全外连接的映射

要创建新映射,请导航到菜单栏中的“映射”菜单,然后选择“创建.”选项。这将打开“映射名称”窗口,如下图所示。在这里,您必须为此映射(m_Full_Outer)编写一个唯一的名称,然后单击“确定”按钮。

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

Full Outer Join in Informatica 2

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

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

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

Full Outer Join in Informatica 3

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

Full Outer Join in Informatica 4

单击“创建”按钮后,Joiner 转换将添加到映射设计器。为了执行全外连接,Joiner 转换需要一些数据。因此,我们必须使用 Autolink.. 选项将源定义连接到转换(或选择并拖放所需的字段)。

Full Outer Join in Informatica 5

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

  • M:请选中您想用作主表的列。从下面的屏幕截图可以看到,Joiner 转换自动选择了 Employee 表作为主表
Full Outer Join in Informatica 7

始终将包含记录较少的表选择为主表是一个好习惯。这就是我们选择 Department 表作为主表的原因。

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

Full Outer Join in Informatica 8

下面的 Informatica 全外连接屏幕截图将向您展示“属性”选项卡中可用选项的列表

  • 连接类型:在此示例中,我们执行全外连接,因此我们从下拉列表中选择“全外连接”。
  • 排序输入:如果我们使用排序数据,请选中此选项。
Full Outer Join in Informatica 9

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

Full Outer Join in Informatica 10

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

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

Full Outer Join in Informatica 11

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

步骤 4:为 Informatica 中的全外连接创建工作流

完成映射的创建后,我们必须为它创建工作流。PowerCenter 工作流管理器提供了两种创建工作流的方法。

在此 Informatica 全外连接示例中,我们将手动创建工作流。要创建新工作流,请导航到“工作流”菜单并选择“创建”选项。这将打开“创建工作流”窗口,如下图所示。请为此工作流(wf_Full_Outer)提供一个唯一的名称,并保留默认设置。

Create Workflow 12

创建工作流后,我们的下一步是为我们的映射创建会话任务。

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

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

有两种类型的会话

  • 非可重用会话任务:请参考 会话 文章来了解其中涉及的步骤。
  • 可重用会话任务:请参考 可重用会话 文章以了解其中涉及的步骤。

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

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

Full Outer Join in Informatica 13

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

从下面的屏幕截图可以看到,我们已将 $target 变量分配给“连接值”,并选中了“截断目标表”选项以截断目标表中的现有数据。

Assign Connection Variables 14

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

Full Outer Join in Informatica 15

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

Full Outer Join in Informatica 16

让我们打开 SQL Server Management Studio,检查我们是否已成功使用 Joiner 转换在 Informatica 中执行了全外连接。