Informatica 中的会话属性:完整教程

会话属性是一组指令,用于指示 Informatica 如何以及何时将数据从源移动到目标。

会话属性是一个任务,就像我们在工作流管理器中创建的其他任务一样。任何会话都必须关联一个映射。

一个会话一次只能有一个映射,并且一旦指定就不能更改。要执行会话任务,必须将其添加到工作流中。

会话可以是可重用对象,也可以是不可重用对象。当您在任务开发工具中创建会话时,它可以被重用,但当您在工作流设计器中创建会话时,它就不可重用了。

可重用的会话可以添加到多个工作流中。

会话的属性

通过使用会话的属性,您可以配置会话的各种特性,例如预处理和后处理 SQL 脚本、日志文件名和路径、内存属性等。

您还可以覆盖会话属性中的映射属性。在本节中,我们将讨论以下重要的会话属性。

  • 将源行视为
  • 提交间隔
  • 会话日志文件属性
  • 测试加载属性
  • 日志选项
  • 错误处理
  • 源/目标属性
  • 连接

步骤 1)在任务开发工具中打开我们在早期教程中创建的会话“s_m_emp_emp_target”。

Properties Of Session

步骤 2)双击任务开发工具中的会话图标以打开编辑任务窗口。

Properties Of Session

步骤 3)在“编辑任务”窗口中,单击属性选项卡。

Properties Of Session

步骤 4)在属性选项卡中,将显示会话的属性。

Properties Of Session

将源行视为属性

此属性允许您定义源数据如何影响目标表。例如,您可以定义源记录应插入或删除到目标中。

此属性有四个选项 –

  • 插入
  • 更新
  • 删除
  • 数据驱动

Treat Source Rows As Property

  • 当此属性设置为插入时,源数据将被标记为插入。这意味着数据将被插入。
  • 当属性设置为更新时,目标数据将被源数据更新。要更新数据,目标表需要定义主键。
  • 当属性设置为删除时,目标表中已存在的源数据将被从目标表中删除。要执行此属性并应用更改,目标表中应定义主键。
  • 当属性设置为数据驱动时,Informatica 会检查源记录的标记方式。如果在映射中源记录被标记为插入,则记录将被插入到目标中。如果记录在映射中被标记为更新,则记录将被更新到目标中。因此,在目标上执行什么操作取决于映射内部如何处理记录。

如何将源行视为 - 删除

步骤 1)

  1. 在会话任务的属性选项卡中,在“将源行视为”中选择“删除”选项。
  2. 选择“确定”按钮

Make Treat Source Rows – Delete

步骤 2)要在目标表中定义主键,请打开 Informatica Designer。

  1. 打开目标设计器。
  2. 双击“emp_target”表。

Make Treat Source Rows – Delete

这将为我们的目标表打开一个“编辑表”窗口。

步骤 3)在目标表的编辑窗口中。

  1. 对于 EmpNo 列,从下拉菜单中选择“主键”作为键类型,然后
  2. 选择“确定”按钮。

Make Treat Source Rows – Delete

步骤 4)在 Informatica 中保存更改,并执行此映射的工作流。

当您执行此映射时,目标中已存在的源记录将被删除。

提交间隔 - 属性

此属性定义了 Informatica 进行提交操作到目标表的间隔。

例如,如果您正在向目标表插入 20,000 条记录,并将提交间隔定义为 5,000,那么在目标中插入每 5,000 条记录后,将执行一次提交操作。

Commit Interval - Property

会话日志文件名和会话日志文件目录

Session Log File Name & Session Log File directory

配置此属性以修改

  • 默认会话日志文件名和
  • 日志文件的路径

$PMSessionLogDir\ 是一个 Informatica 变量,在 Windows 中它指向以下默认位置“C:\Informatica\9.6.1\server\infa_shared\SessLogs”。

启用测试加载

使用此属性,您可以测试会话和映射。当您使用此功能并执行会话时,会从源中获取记录,但它们不会加载到目标中。因此,此功能有助于测试映射的正确性、参数文件以及映射中各种转换的功能。

如果您启用此功能,那么还有一个属性 – 测试行数,应为此属性配置您希望为测试加载从源中获取的记录数。

Enable Test Load

内存属性

内存属性为我们提供了灵活性,可以微调分配给 Informatica 的内存以进行性能优化。当瓶颈很高且性能很差时,您可以尝试使用内存属性来提高性能。

要配置内存属性,请单击编辑任务窗口的“配置对象”选项卡。它将打开另一个窗口,您可以在其中配置更改。

Memory Properties

在此部分,您可以配置内存属性。例如,默认缓冲区块大小、顺序缓冲区长度等。对这些属性的更改将决定为 Informatica 服务分配多少内存以供其运行。

Memory Properties

日志选项

Log options

在此属性部分,您可以配置会话的日志属性。您可以设置要为会话保存的日志数量、会话日志文件的最大大小。

错误处理

Error Handling

在此部分,您可以配置会话的错误属性。

使用停止错误数,您可以配置会话在多少错误后停止。

使用覆盖跟踪,您可以覆盖映射的跟踪级别。

您还可以配置会话在遇到各种错误时的行为,例如存储过程错误、预后 SQL 错误等。

映射和源/目标属性

在会话的编辑任务窗口的映射选项卡中,您可以配置与映射及其源/目标和转换相关的属性。通过此属性部分,您可以覆盖源和目标的属性。对于源和目标,我们可以覆盖表名,我们可以应用表名前缀。在映射中,我们可以配置各种转换、源和目标的属性,此外,在此部分我们还可以查看和覆盖这些属性。就像一个地方可以查看所有这些属性一样。

Mapping and Source/Target Properties

映射中的连接属性

使用此属性,您可以定义源和目标的数据库连接。

Connection Properties in Mapping

源属性

在此部分,您可以配置与映射的源相关的属性。您可以配置源的预处理和后处理 SQL 脚本。

通过 SQL 查询属性,您可以覆盖源的 SQL。您还可以在此部分覆盖源表名。

Source Properties

目标属性

在此部分,您可以配置目标的详细信息。您可以定义目标加载是批量加载还是正常模式。

在批量加载中,性能提升是因为在加载过程中数据库不管理重做日志缓冲区。

另一方面,与批量加载相比,正常加载速度较慢,但在发生故障时可以进行数据库恢复。

您还可以定义在填充目标表之前截断目标表的属性。这意味着在将任何记录加载到目标之前,将截断目标表,然后执行加载。当我们在暂存加载中创建映射时,此属性很有用。

我们还可以定义目标表的预处理 SQL 和后处理 SQL。预处理 SQL 是在向目标表执行插入之前执行的 SQL 代码片段,后处理 SQL 代码将在目标表加载完成后执行。

Target Properties

会话任务的成功或失败

当工作流中有多个会话时,可能会出现一个或多个会话失败的情况。在这种情况下,会出现一个问题,即工作流的状态是什么,因为您有一个工作流,其中一些任务已失败,而另一些任务已成功。为了处理这种情况,Informatica 提供了在工作流内设置此失败特定属性的选项。要配置此类行为 –

步骤 1)打开我们之前创建的工作流“wkf_run_command”。

Success or Failure Of Session Task

步骤 2)双击命令任务,这将打开编辑任务窗口。

  1. 选择“常规”选项卡。
  2. 选择“如果此任务失败,则父任务失败”属性旁边的复选框。
  3. 选择“确定”按钮

Success or Failure Of Session Task

步骤 3)双击会话任务,这将打开编辑任务窗口。

  1. 选择“常规”选项卡。
  2. 选择“如果此任务失败,则父任务失败”属性旁边的复选框。
  3. 选择“确定”按钮

Success or Failure Of Session Task

步骤 4)使用 ctrl+s 快捷方式保存更改。

在您进行上述更改后执行此工作流时,如果任何任务失败,工作流状态将设置为失败。因此,您可以识别在工作流执行期间其某些任务已失败。