Informatica Debugger:会话、断点、详细数据和映射

正如我们在前面讨论过的主题一样,映射是源对象和目标对象的一个集合,它们通过一组转换链接在一起。这些转换包含一组规则,定义了数据流以及数据如何加载到目标中。

什么是调试器?

调试器是Informatica中一个非常有用的工具。当我们执行映射时,Informatica会根据定义的转换逻辑来执行映射。

它的执行类似于批处理模式执行,我们无法看到中间结果,或者数据是如何从一个转换到另一个转换进行修改的。

很多时候,我们发现目标中的数据并非如我们所预期。借助调试器,我们可以分析数据在映射中的流动方式。我们可以在调试器中逐行分析数据。

使用调试器需要一个会话实例,我们可以重用之前创建的用于运行映射的会话,或者创建一个新的调试会话实例。由于在调试过程中数据将从源获取,因此我们有机会选择如何处理这些数据。

  • 我们可以丢弃数据,或者
  • 数据可以加载到目标中

这些选项可以在配置调试器时进行设置。

要监控调试器,Informatica Designer中有两个窗口

  • 目标窗口
  • 实例窗口

在目标窗口中,将要插入目标表的记录会显示出来。在实例窗口中,您可以选择映射中的任何转换实例。之后,该转换的所有端口都会在此窗口中显示,您可以分析数据是如何转换的。

映射中使用调试器的步骤

Informatica Designer提供了使用调试器来调试映射的功能。这意味着我们可以调试和分析任何现有映射。调试器的要求是映射必须是有效的映射。

在练习中,我们将调试我们之前创建的现有映射“m_emp_emp_target”。在我们的源数据中,我们将检查 employee_name = ‘SCOTT’ 的特定记录。对于Scott,我们将验证值是否在Informatica中正确获取,以及记录是否已正确推送到目标。

我们源数据中“emp”表的内容如下:

Use Debugger in a Mapping

对于ename为“SCOTT”的记录,使用调试器我们将检查Informatica中获取的“sal”(薪水)列的值。

步骤 1)打开Informatica Designer,并通过双击来打开映射“m_emp_emp_target”。它将在Mapping Designer中显示源限定符和目标定义表,其中包含映射。

Use Debugger in a Mapping

步骤 2)现在启动调试器

  1. 点击映射菜单选项
  2. 从选项中选择调试器
  3. 选择“启动调试器”选项

Use Debugger in a Mapping

步骤 3)在调试映射窗口中选择下一步

Use Debugger in a Mapping

步骤 4)在下一个窗口中,您将看到一个选择会话类型的选项。您可以使用现有会话、现有可重用会话,或者创建调试会话实例。

当您使用现有会话时,Informatica将使用您为该映射创建的先前会话。当您选择创建调试会话实例时,将为调试创建一个新的会话实例。

在本例中,我们将选择现有可重用会话实例。集成服务将是默认的。

  1. 选择“使用现有会话实例”选项
  2. 点击下一步

Use Debugger in a Mapping

步骤 5)在新窗口中,Informatica会提示您选择用于调试的现有会话。

选择会话“s_m_emp_emp_target”并点击下一步按钮

Use Debugger in a Mapping

步骤 6)在下一个窗口中,有一个“丢弃目标数据”的选项,我们选择此选项,因为在调试过程中我们不希望将任何数据加载到目标表中。

  1. 选择“丢弃目标数据”选项。
  2. 选择目标表“emp_target”
  3. 点击完成按钮。

Use Debugger in a Mapping

通过以上步骤,我们已经配置并启动了调试器。现在我们可以调试映射了。

步骤 7)调试器已启动,但尚未从源获取任何行。在调试过程中,它逐行从源获取数据。要开始获取第一行数据

  1. 从菜单中选择映射选项
  2. 选择调试器选项
  3. 选择下一个实例选项

Use Debugger in a Mapping

步骤 8)在实例窗口中,您将看到从源限定符获取的第一条记录。

Use Debugger in a Mapping

如果您分析实例窗口,它将显示第一条记录 – ename为“SMITH”的行。这不是我们要查找的记录。因此,我们可以移到下一个实例。

步骤 9)移到下一个实例(移到下一行)

  • 按F10键(前往下一个实例的快捷键,而不是进入映射选项然后是调试器选项)

移到下一个实例后,实例窗口中的数据将更改为下一条记录。

Use Debugger in a Mapping

步骤 10)继续按F10键,直到您到达所需的“SCOTT”员工记录。到达该点后,实例窗口将如下所示:

Use Debugger in a Mapping

这就是我们正在寻找的实例。因此,在实例窗口中,我们可以分析数据。它是否正确传入,或者是否有值丢失。

在源数据中,“SCOTT”员工的详细信息是 job = “ANALYST”,manager id = “7566”,sal “3000.”。

而在调试器中,对于员工“SCOTT”,我们已经分析了所有这些详细信息,它们与源数据匹配,因此我们确信源限定符正确地获取了记录。

在调试器中使用断点

当我们查找特定行数据时,例如在上一个示例中,我们可以定义断点,而不是遍历所有源数据实例。

断点是在配置调试过程中定义的条件或一组条件,当该条件为真时,调试器会停止在该特定实例。

例如,如果我们为断点定义deptno=20,那么当某条记录满足此条件时,调试器将停止在该数据实例。

步骤 1)配置断点

  1. 转到映射菜单
  2. 选择调试器选项
  3. 选择“编辑断点”选项

Using Breakpoint in Debugger

步骤 2)您将看到一个如下所示的“编辑断点”窗口

Using Breakpoint in Debugger

步骤 3)在断点窗口中,点击添加按钮

Using Breakpoint in Debugger

步骤 4)在新窗口中

  1. 选择SQ_EMP作为实例
  2. 选择“确定”按钮

Using Breakpoint in Debugger

步骤 5)上一个窗口将如下所示:

Using Breakpoint in Debugger

步骤 6)您有一个断点,现在您需要定义断点条件。定义断点条件

  1. 点击“添加新条件”图标

Using Breakpoint in Debugger

条件选项卡下将出现一个新行。在这里我们可以配置条件。

步骤 7)在条件表中

  1. 在端口下拉列表中,选择“ENAME”选项(因为我们正在调试ename = ‘SCOTT’ 的记录)
  2. 在值框中,输入值“SCOTT”。
  3. 选择“确定”按钮

Using Breakpoint in Debugger

步骤 8)现在按照前一个主题中提到的方式启动调试器

转到映射菜单 -> 选择调试器选项 -> 选择启动调试器 -> 选择会话实例

步骤 9)调试器启动后

  1. 选择映射菜单
  2. 选择调试器选项
  3. 选择继续选项

Using Breakpoint in Debugger

调试器将自行遍历每一行实例,并检查条件“ename=SCOTT”。满足此条件的记录,调试器将在该实例上停止。因此,当数据量很大时,您可以配置断点,而不是遍历每个源记录实例,这样就可以直接跳转到该记录。

Using Breakpoint in Debugger

一旦Informatica完成了遍历所有实例,调试器就会自动停止。如果您想再次分析数据,则必须重新启动调试器。

Informatica中的跟踪

每当您为映射执行会话时,都会生成一个会话日志。它包含执行的详细信息,例如:

  • 事件的时间
  • 错误详细信息
  • 单个转换统计信息等。

在映射的转换内部,您可以配置和设置Informatica在会话日志中写入多少详细信息。

在转换内部的跟踪可以设置四个级别。

不同的日志模式 不同日志模式下的活动
正常 在正常模式下,Informatica会写入转换初始化和状态信息、遇到的错误以及会话结果摘要。
简洁 在简洁模式下,Informatica仅写入初始化信息和错误详细信息。简洁模式写入的会话日志详细信息最少。
详细初始化 在详细初始化模式下,Informatica写入的日志详细信息与正常模式类似,此外还写入使用的数据文件和索引文件以及转换统计信息。
详细数据 在详细数据模式下,Informatica写入的日志类似于详细初始化,但此外还写入通过转换的每一条数据。

注意:默认情况下,跟踪级别设置为正常,建议仅在调试映射时使用详细数据模式。简洁模式可用于提高性能,因为它写入的详细信息最少。因此,写入日志的开销将是最小的。

如何在转换中设置跟踪级别

步骤 1)在Informatica Designer中打开要设置跟踪级别的映射

Set Tracing Level in a Transformation

步骤 2)双击转换(源限定符转换“SQ_EMP”)

这将打开编辑转换窗口。

Set Tracing Level in a Transformation

步骤 3)在编辑转换窗口中

  1. 点击属性选项卡
  2. 选择跟踪级别选项
  3. 从下拉列表中选择详细数据
  4. 选择“确定”按钮

Set Tracing Level in a Transformation

步骤 4)保存映射并执行映射(使用 Ctrl+S 键盘快捷键保存映射)

步骤 5)查看日志

  1. 打开工作流监视器并选择上一步执行的会话
  2. 点击“会话日志”选项以打开映射的会话日志

Set Tracing Level in a Transformation

这将打开映射的会话日志窗口

会话日志提供了有关会话如何执行的详细信息。它提供了执行开始和停止的时间详细信息。它提供了性能的基本概念。它会说明您正在使用哪个数据库连接,您正在使用哪个参数文件。它还总结了源和目标,说明获取了多少源记录,加载了多少记录到目标等等。

Set Tracing Level in a Transformation

步骤 6)向下滚动日志,您可以看到捕获的附加日志详细信息,包括数据记录。

Set Tracing Level in a Transformation

通过这种方式,您可以设置映射中的跟踪级别,以便捕获附加的详细信息以进行调试。

在本教程中,您学习了如何设置、配置和执行调试器以及如何在映射中设置跟踪级别。这些选项为您提供了调试映射的能力。