Informatica 中的调试器:会话、断点、详细数据和映射
正如我们在前面的主题中讨论的那样,映射是通过一组转换链接在一起的源对象和目标对象的集合。这些转换由一组规则组成,这些规则定义了数据流以及数据如何加载到目标中。
什么是调试器?
调试器是 Informatica 中非常方便的实用程序。当我们执行映射时,Informatica 会根据定义的转换逻辑执行映射。
它的执行类似于批处理模式执行,我们无法看到中间结果,或者数据在转换过程中是如何被修改的。
很多时候,我们得到的目标数据并不像我们预期的那样。在调试器的帮助下,我们 可以分析数据在映射中的移动方式。我们可以在调试器中逐行分析数据。
使用调试器需要会话实例,我们可以重用之前创建的现有会话来运行映射,也可以创建一个新的调试会话实例。由于在调试期间将从源中获取数据,因此我们可以选择如何处理这些数据。
- 我们可以丢弃数据,或者
- 数据可以加载到目标中
这些选项可以在调试器配置期间设置。
为了监视调试器,Informatica 设计器中有两个窗口
- Target 窗口
- 实例窗口
在目标窗口中,将显示要插入到目标表中的目标记录。在实例窗口中,您可以选择映射的任意转换实例。之后,该转换的所有端口都可见于此窗口中,您可以分析数据,了解其转换方式。
在映射中使用调试器的步骤
Informatica Designer 提供了使用调试器调试映射的功能。这意味着我们可以调试和分析任何现有映射。调试器的要求是映射应该是有效的映射。
在练习中,我们将调试我们之前创建的现有映射“m_emp_emp_target”。在我们的源数据中,我们将检查 employee_name ='SCOTT' 的特定记录。对于 Scott,我们将验证在 Informatica 中获取的值以及记录是否正确推送到目标。
我们的“emp”表的源数据如下所示。
对于名称“SCOTT”,我们将使用调试器检查在 Informatica 中提取的“sal”(薪水)列的值。
步骤1) 打开 Informatica 设计器,在设计器中双击打开映射“m_emp_emp_target”。它将打开源限定符和目标定义表,显示 Mapping Designer 中的映射。
步骤2) 现在启动调试器
- 点击 映射 菜单选项
- 从选项中选择调试器
- 选择“启动调试器”选项
步骤3) 在调试映射窗口中选择下一步
步骤4) 在下一个窗口中,您将看到一个选择会话类型的选项。您可以使用现有会话、现有可重用会话,也可以创建调试会话实例。
当您使用现有会话时,Informatica 将使用您为此映射创建的早期会话。当您选择创建调试会话实例时,将创建一个新的会话实例用于调试。
在此示例中,我们将选择现有的可重用会话实例。集成服务将是默认设置。
- 选择“使用现有会话实例”选项
- 点击下一步
步骤5) 在新窗口中,Informatica 将提示您选择现有会话进行调试。
选择会话“s_m_emp_emp_target”并单击下一步按钮
步骤6) 在下一个窗口中将有一个选项“丢弃目标数据”,我们选择此选项是因为在调试期间我们不想在目标表中加载任何数据。
- 选择选项“丢弃目标数据”。
- 选择目标表“emp_target”
- 单击完成按钮。
通过以上步骤,我们已经配置并启动了调试器。现在我们可以调试映射了。
步骤7) 调试器已启动,但尚未从源中提取任何行。在调试期间,它会逐行从源中提取数据。要开始从源中提取第一行
- 从菜单中选择映射选项
- 选择调试器选项
- 选择下一个实例选项
步骤8) 在实例窗口中,您将看到从源限定符中获取的第一个记录。
如果您分析实例窗口,它将显示第一条记录 - 名为“SMITH”的行。这不是我们要查找的记录。因此我们可以转到下一个实例。
步骤9) 转到下一个实例(移至下一行)
- 按 F10 按钮(快捷方式转到下一个实例,而不是转到映射选项然后调试器选项)
移动到下一个实例后,实例窗口中的数据将改变为下一条记录。
步骤10) 继续按 F10 键,直到找到所需的“SCOTT”员工记录。到达该点后,实例窗口将如下所示
这就是我们正在寻找的实例。因此,在实例窗口中,我们可以分析数据。数据是否正确,或者是否有任何值缺失。
在源数据中,“SCOTT”员工的详细信息为:职位 = “ANALYST”、经理 ID = “7566”、薪资“3000”。
在调试器中,对于员工“SCOTT”,我们分析了所有这些详细信息,并且它们与源数据相匹配,因此我们确信记录是通过源限定符正确获取的。
在调试器中使用断点
当我们寻找像前面例子中的特定一行数据时,我们可以定义断点,而不必转到源数据的每个实例。
断点是在调试配置期间定义的一个条件或一组条件,当该条件变为真时,调试器就会暂停到该特定实例。
例如如果我们在断点处定义 deptno=20,那么每当某个记录的条件为真时,调试器就会停止到该数据实例。
步骤1) 配置断点
- 进入映射菜单
- 选择调试器选项
- 选择“编辑断点”选项
步骤2) 您将看到一个“编辑断点”窗口,如下所示
步骤3) 在断点窗口中,点击添加按钮
步骤4) 在新窗口中
- 选择 SQ_EMP 作为实例
- 选择“确定”按钮
步骤5) 上一个窗口将如下所示
步骤6) 您有一个断点,现在您必须定义断点条件。要定义断点条件
- 点击“添加新条件”图标
条件选项卡下将出现一个新行。在这里我们可以配置条件。
步骤7) 在条件表中
- 在端口下拉菜单中,选择“ENAME”选项(因为我们正在调试记录 ename='SCOTT')
- 在值框中,输入值“SCOTT”。
- 选择“确定”按钮
步骤8) 现在按照上一个主题中提到的方法启动调试器
转到映射菜单 -> 选择调试器选项 -> 选择启动调试器 -> 选择会话实例
步骤9) 调试器启动后
- 选择映射菜单
- 选择调试器选项
- 选择继续选项
调试器将转到行本身的每个实例并检查条件“ename=SCOTT”。对于此条件为真的记录,调试器将在该实例上停止。因此,当数据量很大时,您可以配置断点,而不必转到源记录的每个实例,然后直接跳转到该记录。
一旦 Informatica 完成所有实例的分析,调试器就会自动停止。如果要再次分析数据,则必须重新启动调试器。
Informatica 中的跟踪
每当您执行映射的会话时,都会生成会话日志。它包含执行的详细信息,例如
- 事件发生的时间
- 错误详情
- 个人转型统计等
在映射的转换中,您可以配置和设置 Informatica 在会话日志中写入多少详细信息。
有四个级别可供设置用于转换内部的跟踪。
不同的日志模式 | 不同日志模式下的活动 |
---|---|
正常 | 在正常模式下,Informatica 会写入有关转换初始化和状态信息、遇到的错误并总结会话结果。 |
简洁 | 在简洁模式下,Informatica 仅写入初始化信息和错误详细信息。简洁模式将最少的详细信息写入会话日志。 |
详细初始化 | 在详细初始化模式下,Informatica 会写入与正常模式类似的日志详细信息,此外还会写入有关所使用的数据和索引文件以及转换统计信息。 |
详细数据 | 在详细数据中,Informatica 写入类似于详细初始化的日志,但此外还写入经过转换的每个数据。 |
备注:默认情况下,跟踪级别设置为正常,建议仅在调试映射时使用详细数据模式。简洁模式可用于提高性能,因为它写入最少的详细信息。因此,写入日志的开销将最小。
如何在转换中设置跟踪级别
步骤1) 在 Informatica Designer 中打开要设置跟踪级别的映射
步骤2) Double 单击转换(源限定符转换“SQ_EMP”)
它将打开编辑转换窗口。
步骤3) 在编辑转换窗口中
- 单击属性选项卡
- 选择跟踪级别选项
- 从下拉菜单中选择详细数据
- 选择“确定”按钮
步骤4) 保存映射并执行映射(使用 ctrl+s 键盘快捷键保存映射)
步骤5) 查看日志
- 可选 工作流监视器 并选择上一步中执行的会话
- 点击“会话日志”选项打开映射的会话日志
这将打开映射的会话日志窗口
会话日志提供有关会话如何执行的详细信息。它提供执行开始和停止的时间详细信息。它提供有关性能的基本概念。它提到您正在使用哪个数据库连接,您正在使用哪个参数文件。它还通过提及获取了多少源记录、将多少记录加载到目标等来总结源和目标。
步骤6) 在日志中向下滚动,您可以看到捕获的其他日志详细信息,包括数据记录。
通过这种方式,您可以在映射中设置跟踪级别来捕获调试的附加详细信息。
在本教程中,您学习了如何设置、配置和执行调试器以及如何在映射中设置跟踪级别。这些选项为您提供了调试映射的能力。