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

⚡ 智能摘要

Informatica 中的会话属性控制集成服务如何以及何时将行从源移动到目标,涵盖提交点、日志文件、内存分配、错误处理以及映射中的连接。ping 运行时使用。

  • 🔘 会话基本内容: 会话是与一张地图关联的任务。ping一旦分配,就不能交换。
  • ☑️ 将源行视为: 插入、更新、删除和数据驱动决定是添加、更改还是删除行。
  • 首要的关键: 更新和删除操作需要目标表具有主键,更改才能生效。
  • 🧪 测试负载: 行数据从源读取,但从不写入,因此这是一个映射。ping 经安全验证。
  • 🛠️ 内存调优: 配置对象选项卡公开了缓冲区块大小和顺序缓冲区长度,以进行性能优化。
  • 📦 负载类型: 批量加载会跳过数据库日志以提高速度,而正常加载则能保证恢复的可能性。

Informatica 中的会话属性

会话是一组指令,它告诉 Informatica 如何以及何时将数据从源移动到目标。

会话是一种任务,就像我们在工作流管理器中创建的其他任务一样。您创建的任何会话都必须具有一个会话标识符。 地图ping 与之相关联。

一个会话可以只有一个地图。ping 一次只能执行一次,一旦分配,就无法更改。要执行会话任务,必须将其添加到会话列表中。 工作流程.

会话可以是可重用对象,也可以是不可重用对象。在任务开发工具中创建的会话可以重用,但在工作流设计工具中创建的会话则不可重用。

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

会话属性

使用会话的属性,您可以配置会话的各种特征,如会话前和会话后 SQL 脚本、日志文件名和路径、内存属性等

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

  • 将源行视为
  • 提交间隔
  • 会话日志文件属性
  • 试验载荷特性
  • 日志选项
  • 错误处理
  • 来源/Target 物业
  • 连接

步骤1) 在 Task Developer 中打开我们在之前的教程中创建的会话“s_m_emp_emp_target”。

任务开发人员工作区中列出的会话 s_m_emp_emp_target

步骤2) Double-单击任务开发工具内的会话图标,打开编辑任务窗口。

从“任务开发人员”打开了会话的“编辑任务”窗口

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

在会话的“编辑任务”窗口中选择“属性”选项卡

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

属性选项卡下显示了完整的会话属性列表。

将源行视为属性

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

此房产有四种选择——

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

所有四个选项都显示在房产名称旁边的下拉菜单中。

将源行视为下拉列表,其中包含插入、更新、删除和数据驱动选项。

  • 当此属性设置为插入时,源数据将被标记为要插入。这意味着数据将仅被插入。
  • 当属性设置为更新时,目标数据将根据源数据进行更新。要更新数据,需要在目标表中定义主键。
  • 当属性设置为删除时,目标表中已存在的源数据将从目标表中删除。要使此属性生效并应用更改,目标表中必须定义主键。
  • 如果属性设置为“数据驱动”,Informatica 会检查哪些源记录被标记为插入。如果源记录被标记为插入到映射中,则会执行相应的操作。ping则记录将被插入到目标表中。如果记录在映射表中被标记为更新,则ping那么,目标位置的记录就会更新。因此,目标位置执行的操作取决于映射内部如何处理记录。ping.

数据驱动是指在地图绘制过程中可以选择的选项。ping 包含更新策略转换,因为该转换会单独标记每一行。

如何处理源行 - 删除

步骤1) 在会话任务的“属性”选项卡中:

  1. 在“将源行视为”中选择“删除”选项
  2. 选择“确定”按钮

删除在“将源行视为会话属性”中选择的项

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

  1. 可选 Target 设计师
  2. Double点击“emp_target”表

从 emp_target 表打开 Target Informatica Designer 内部的 Designer

这将打开目标表格的“编辑表格”窗口。

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

  1. 对于“员工编号”列,请从下拉菜单中选择“主键”作为键类型,并且
  2. 选择确定按钮。

在 emp_target 表的编辑窗口中,将 EmpNo 列设置为主键。

步骤4) 在 Informatica 中保存更改并执行此地图的工作流ping.

当你执行此映射时ping目标数据库中已存在的源记录将被删除。

提交间隔 – 属性

此属性定义了 Informatica 向目标表执行提交操作的时间间隔。

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

默认间隔为 10,000 行,提交类型可以设置为基于目标或基于源。

会话属性选项卡中显示了提交类型和提交间隔字段。

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

配置此属性以修改

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

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

会话属性中的会话日志文件名和会话日志文件目录字段

启用测试负载

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

如果启用此功能,则还有另一个属性——要测试的行数——应该配置为要从源中提取的用于测试加载的记录数。

启用测试负载复选框,旁边是“要测试的行数”字段

记忆属性

内存属性使我们能够灵活地微调分配给 Informatica 的内存,从而优化性能。当出现严重的性能瓶颈且性能不佳时,您可以尝试使用内存属性来提升性能。

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

在会话的“编辑任务”窗口中选择“配置对象”选项卡

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

“配置对象”选项卡下的“默认缓冲区块大小”和“顺序缓冲区长度”字段

日志选项

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

日志选项组显示保存会话日志设置和最大日志文件大小

错误处理

在本节中,您可以配置会话的错误属性。

使用“发生错误时停止”功能,您可以配置会话在发生多少次错误后必须停止。

使用覆盖 trac你可以覆盖映射ping trac水平。

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

配置对象选项卡中的错误处理组,包含“出错时停止”字段

地图ping 来源/Target 物业

在地图上ping 在“编辑任务”窗口的选项卡中,您可以配置地图的属性。ping 以及它的源、目标和转换。表名可以在此处被覆盖,表名前缀也可以在此处应用,转换属性可以在映射内部设置。ping 所有更改均可查看和更改。所有更改都可以在这里查看。

地图ping “编辑任务”窗口的选项卡,列出源、目标和转换

映射中的连接属性ping

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

关系连接浏览器用于设置源连接和目标连接。

源属性

在本节中,您可以配置与地图源相关的属性。ping您可以为源配置前置和后置 SQL 脚本。

使用 SQL 查询属性,您可以覆盖源的 SQL 语句。您也可以在此部分覆盖源表名称。

源属性窗格显示 SQL 查询和源表名称覆盖

Target 物业

在本节中,您可以配置目标的详细信息。您可以定义目标负载必须是大容量负载还是普通负载。

Target 负载类型 这对跑步意味着什么
正常 数据行是通过数据库日志写入的,因此加载速度较慢,但​​发生故障后可以恢复数据库。
整体 重做日志缓冲区被绕过,因此加载速度更快,但无法恢复失败的加载。

您还可以定义一个属性,在填充目标表之前先将其截断,这样表就会先被清空,然后再执行加载操作。此属性在创建映射时非常有用。ping用于舞台负载。

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

Target 属性窗格包含目标加载类型、截断选项以及 SQL 前置和后置字段

会话任务的成功或失败

当工作流包含多个会话时,其中一个或多个会话可能会失败,而其余会话则成功,这就引出了一个问题:工作流的状态应该是什么?为了处理这种情况,Informatica 在工作流中提供了一个专门用于处理失败的属性。要配置这种行为——

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

工作流 wkf_run_command 已在工作流管理器中打开,其中包含其命令和会话任务。

步骤2) Double单击命令任务。这将打开“编辑任务”窗口。

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

如果此任务失败,则父任务失败(在命令任务的“常规”选项卡中选中此项)

步骤3) Double单击会话任务。这将打开“编辑任务”窗口。

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

如果此任务失败,则父任务失败(在会话任务的“常规”选项卡中选中)

步骤4) 使用快捷键 Ctrl+S 保存更改。

在进行上述更改后执行此工作流时,如果任何任务失败,则工作流状态将设置为失败,以便您可以确定在执行工作流期间,某些任务失败了。

常见问题

是的。在任务开发工具中创建的会话是可重复使用的,并且可以放置在多个位置。 工作流程在工作流设计器中创建的工作流程不可重用,并且仅属于该工作流程。

集成服务会根据键列构建生成的 UPDATE 或 DELETE 语句的 WHERE 子句。如果目标定义中没有主键,则不会匹配任何行,也不会进行任何更改。

它会在每一行内部标记它是插入、更新、删除还是拒绝。 改造 这就是为什么会话必须以数据驱动方式运行的原因。

它将源限定符与其提供的目标分组,以便相关表按选定的顺序加载,并且父行在子行到达之前就位。

查看会话日志,了解读取线程、转换线程和写入线程的繁忙百分比。最繁忙的线程才是真正的瓶颈,只有在这种情况下,缓冲区设置才值得关注。

是的。连接名称、源目录和映射ping 参数在运行时从参数文件中读取,因此一个对象可以在开发、测试和生产环境中保持不变。

现代 ETL 平台中的机器学习模型会分析运行历史,预测哪个阶段会成为瓶颈,并建议进行分区或内存更改,从而取代人工试错。

是的。副驾驶起草了…… SQL 这些操作会在加载操作之前或之后运行,例如删除索引、截断语句和审计插入。生成的每个语句仍然需要进行模式审查。

总结一下这篇文章: