Informatica 常用组件Lookup之五 转换属性

  查找转换的属性标识数据库源、PowerCenter 如何处理转换,以及它如何处理高速缓存和多项匹配。

  创建映射时,为每个查找转换指定属性。创建会话时,您可在会话属性中覆盖某些属性,如每个转换的索引和数据高速缓存大小。


选项

查找类型

说明

Lookup SQL Override

关系

覆盖默认 SQL 语句以查询查找表。

指定希望 PowerCenter 用以查询查找值的 SQL 语句。仅在已启用查找高速缓存的情况下使用。

Lookup Table Name

关系

指定转换将查找和高速缓存其值的表的名称。在第一次创建查找转换时所显示的对话框中,您可以通过选择"导入"按钮以从其它数据库导入表、视图或同义词。

如果输入一个查找 SQL 覆盖,则不需为此选项添加条目。

Lookup Caching Enabled

平面文件,

关系

指明 PowerCenter 是否在会话期间高速缓存查找值。

如果启用查找高速缓存,PowerCenter 将在会话期间查询查找源一次,高速缓存值,然后在高速缓存中查找值。这可以提高会话性能。

如果禁用高速缓存,则每当一行传递至转换时,PowerCenter 都将向查找源发出一个选择语句以查找值。

注:PowerCenter 始终高速缓存平面文件查找。

Lookup Policy on Multiple Match

平面文件,

关系

确定当查找转换找到多个与查找条件匹配的行时,进行什么操作。您可以选择从高速缓存或查找源返回的第一行或最后一行,或报告错误。

Lookup Condition

平面文件,

关系

显示在"条件"选项卡中设置的查找条件。

Connection Information

关系

指定包含查找表的数据库。您可以选择具体的数据库连接,也可以使用 $Source 或 $Target 变量。如果您使用其中一个变量,查找表必须驻留在配置会话时所指定的源或目标数据库中。

如果选择具体的数据库连接,则还可以指定数据库连接的类型。如果连接是应用程序连接,则在连接名称前面键入Application:。如果连接是关系连接,则在连接名称前面键入Relational:

如果不指定数据库连接类型,则 PowerCenter 不能确定数据库连接类型时将使会话失败。

Source Type

平面文件,

关系

指明查找转换从关系数据库或平面文件中读取值。

Tracing Level

平面文件,

关系

设置在运行包含此转换的会话时会话日志中包含的细节量。

Lookup Cache Directory Name

平面文件,

关系

指定配置查找转换以高速缓存查找源时用于建立查找高速缓存文件的目录。同时用于在选定"永久查找"选项时,保存永久查找高速缓存文件。

默认情况下,PowerCenter 使用为其配置的 $PMCacheDir 目录。

Lookup Cache Persistent

平面文件,

关系

指明 PowerCenter 是否使用永久查找高速缓存(该缓存至少由两个高速缓存文件组成)。如果查找转换是为一个永久查找高速缓存而配置的,但该永久查找高速缓存文件却不存在,则 PowerCenter 将在会话期间创建该文件。仅在已启用查找高速缓存的情况下使用。

Lookup Data Cache Size

平面文件,

关系

指明 PowerCenter 在内存中分配给数据高速缓存的最大大小。如果 PowerCenter 不能在初始化会话时分配配置的内存量,它将使会话失败。如果 PowerCenter 无法将所有数据高速缓存数据存储到内存,PowerCenter 将根据需要借用磁盘。

默认查找数据高速缓存大小为 2,000,000 字节。最小大小为 1,024 字节。如果会话配置的总高速缓存大小为 2 GB(2,147,483,648 字节)或以上,您必须在 64 位 PowerCenter 上运行会话。

仅在已启用查找高速缓存的情况下使用。

Lookup Index Cache Size

平面文件,

关系

指明 PowerCenter 在内存中分配给索引高速缓存的最大大小。如果 PowerCenter Server 不能在初始化会话时分配配置的内存量,它将使会话失败。如果 PowerCenter Server 无法将所有索引高速缓存数据存储到内存,PowerCenter Server 将根据需要借用磁盘。

默认查找索引高速缓存大小为 1,000,000 字节。最小大小为 1,024 字节。如果会话配置的总高速缓存大小为 2 GB(2,147,483,648 字节)或以上,您必须在 64 位 PowerCenter Server 上运行会话。

仅在已启用查找高速缓存的情况下使用。

Dynamic Lookup Cache

关系

指示使用动态查找高速缓存。当查找高速缓存将行传递到目标表时,插入或更新该查找高速缓存中的行。

仅在已启用查找高速缓存的情况下使用。

Output Old Value On Update

关系

仅在已启用动态高速缓存的情况下使用。如果启用此属性,PowerCenter 将通过查找/输出端口输出旧值。PowerCenter 更新高速缓存中的行时,将在基于输入数据更新行之前,输出查找高速缓存中存在的值。PowerCenter 在高速缓存中插入行时,将输出空值。

如果禁用此属性,PowerCenter 将通过查找/输出和输入/输出端口输出相同的值。

此属性在默认情况下被启用。

Cache File Name Prefix

平面文件,

关系

仅适用于永久查找高速缓存。指定用于永久查找高速缓存文件的文件名前缀。PowerCenter 将该文件名前缀用作它保存到磁盘的永久高速缓存文件的文件名。仅输入前辍。不要输入 .idx 或 .dat。

如果存在已命名的高速缓存文件,PowerCenter 将根据这些文件建立内存高速缓存。如果已命名的永久高速缓存文件不存在,则 PowerCenter 将重建永久高速缓存文件。

Recache From Lookup Source

平面文件,

关系

仅在已启用查找高速缓存的情况下使用。选定后,PowerCenter 将在第一次调用查找转换实例时,按照查找源重建查找高速缓存。

如果使用永久查找高速缓存,则 PowerCenter 将在使用高速缓存之前,重建永久高速缓存文件。如果不使用永久查找高速缓存,则 PowerCenter 将在使用高速缓存之前,在内存中重建查找高速缓存。

Insert Else Update

关系

仅在已启用动态高速缓存的情况下使用。应用于进入查找转换且行类型为insert的行。当选择此属性且输入到查找转换的行类型为"插入"时,如果该行为新行,则 PowerCenter 将该行插入到高速缓存,如果该行已存在,则更新该行。如果不选择此属性,则当输入到查找转换的行类型为"插入"时,PowerCenter 仅将新行插入到高速缓存。

Update Else Insert

关系

仅在已启用动态高速缓存的情况下使用。应用于进入查找转换且行类型为update的行。当选择此属性且输入到查找转换的行类型为"更新"时,如果存在该行,PowerCenter 将在高速缓存中更新该行,如果该行为新行,则插入该行。如果不选择此属性,则当输入到查找转换的行类型为"更新"时,PowerCenter 仅更新高速缓存中的现有行。

Datetime Format

平面文件

如果没有为查找定义或"端口"选项卡中的特定字段定义日期时间格式,PowerCenter 将使用此处定义的属性。

您可以输入任何日期时间格式。默认格式是 MM/DD/YYYY HH24:MI:SS。

Thousand Separator

平面文件

如果没有为查找定义或"端口"选项卡中的特定字段定义千位分隔符,PowerCenter 将使用此处定义的属性。

您可以选择无分隔符、逗号或句点。默认为无分隔符。

Decimal Separator

平面文件

如果没有为查找定义或"端口"选项卡中的特定字段定义小数点分隔符,PowerCenter 将使用此处定义的属性。

您可以选择逗号或句点作为小数分隔符。默认为使用句点。

Case-Sensitive String Comparison

平面文件

如果选定,PowerCenter 在对字符串列执行查找时将使用区分大小写的字符串比较。

注:对于关系查找,区分大小写的比较需要数据库支持。

Null Ordering

平面文件

确定 PowerCenter 如何对空值排序。您可以选择将空值按高或低排序。默认情况下,PowerCenter 按高排序空值。这将覆盖 PowerCenter 配置以在比较运算符中将空值处理为高、低或空。

注:对于关系查找,空值排序需要数据库支持。

Sorted Input

平面文件

指示是否排序查找文件数据。这将提高文件查找的性能。如果启用排序输入,但尚未对条件列分组,PowerCenter 将使会话失败。如果对条件列进行了分组,但尚未排序,PowerCenter 将按您没有配置排序输入的方式来处理查找。 

在会话中配置查找属性

配置会话时,您可以配置会话特有的查找属性:

  • 平面文件查找。配置位置信息,如文件目录、文件名和文件类型。
  • 关系查找。您可以定义会话属性中的 $Source 和 $Target 变量。您还可以覆盖连接信息以使用服务器变量 $DBConnection。

平面文件查找配置的会话属性:


属性

说明

查找源文件目录

输入目录名称。默认情况下,PowerCenter 将在服务器变量目录 $PMLookupFileDir 中查找查找文件。

您可以输入完整路径和文件名。如果您在"查找源文件名"字段中同时指定了目录和文件名,请清除此字段。当 PowerCenter 运行会话时,会将此字段与"查找源文件名"字段连接在一起。

另外,您也可以使用 $InputFileName 会话参数指定文件名。

查找源文件名

查找文件的名称。如果使用间接文件,请指定希望 PowerCenter 读取的间接文件的名称。

您也可以使用查找文件参数 $LookupFileName 以更改某会话所使用的查找文件的名称。

如果您在"源文件目录"字段中同时指定了目录和文件名,请清除此字段。当 PowerCenter Server 运行会话时,会将此字段与"查找源文件目录"字段连接在一起。例如,如果您在"查找源文件目录"字段中输入 "C:\lookup_data\" ,并在"查找源文件名"字段中输入"filename.txt"。当 PowerCenter Server 开始会话时,将会查找 "C:\lookup_data\filename.txt"。

查找源文件类型

指示查找源文件是否包含源数据或具有相同文件属性的文件列表。如果查找源文件包含源数据,请选择"直接"。如果查找源文件包含文件列表,请选择"间接"。

如果选择"间接",PowerCenter 将为所有文件创建一个高速缓存。如果对间接文件使用排序输入,请验证文件中的数据范围没有重叠。如果数据范围重叠,PowerCenter 将按您没有配置排序输入的方式来处理查找。 

在会话中配置关系查找

配置会话时,在"映射"选项卡中的"连接"节点中,为查找数据库指定连接。您可以使用以下选项来指定连接:

  • 选择任何关系连接。
  • 使用连接变量 $DBConnection。
  • 为 $Source 或 $Target 信息指定数据库连接。

如果为查找连接使用 $Source 或 $Target,请在会话属性中配置"$Source 连接值"和"$Target 连接值"。这可确保 PowerCenter 在运行会话时为变量使用正确的数据库连接。

如果使用 $Source 或 $Target 且没有在会话属性中指定连接值,PowerCenter 会在运行会话时确定将要使用的数据库连接。PowerCenter 将在包含查找转换的管道中为源或目标使用源或目标数据库连接。如果它无法确定使用哪个数据库连接,则将使会话失败。

以下列表介绍了您未在会话特性中指定 $Source 连接值或 $Target 连接值时,PowerCenter Server 将如何确定 $Source 或 $Target 的值:

  • 当您使用 $Source 且管道包含一个源时,PowerCenter 将使用您为源指定的数据库连接。
  • 当您使用 $Source 且管道包含由联接转换联接的多个源时,PowerCenter 将使用不同的数据库连接,具体取决于查找转换在管道中的位置:
  • 如果查找转换位于联接转换后面,则 PowerCenter 使用细节表的数据库连接。
  • 如果查找转换位于联接转换前面,则 PowerCenter 使用已连接到查找转换的源的数据库连接。
  • 当您使用 $Target 且管道包含一个目标时,PowerCenter 将使用您为目标指定的数据库连接。
  • 使用 $Target 且管道包含多个关系目标时,会话将失败。
  • 如果在未连接的查找转换中使用 $Source 或 $Target,则会话将失败。
时间: 2024-11-06 22:10:42

Informatica 常用组件Lookup之五 转换属性的相关文章

Informatica 常用组件Lookup之四 查找组件

在映射中配置查找转换时,请定义以下组件: 查找源 端口 属性 条件 元数据扩展 查找源         您可以使用平面文件或关系表作为查找源.创建查找转换时,您可以从以下位置导入查找源: 资料库中的任何关系源或目标定义 资料库中的任何平面文件源或目标定义 PowerCenter Server 和 PowerCenter Client 机器都可以连接到的任何表或文件 查找表可以是单个表,您也可以使用查找 SQL 覆盖以将相同数据库中的多个表联接起来.PowerCenter 为所有传入查找转换的行,

Informatica 常用组件Lookup之九 配置未连接的查找转换

在映射中,未连接的查找转换与管道是分开的.您可以使用 :LKP 引用限定符编写表达式以调用其它转换中的查找.未连接查找的常用用法包括: 测试表达式中某个查找的结果 基于查找结果过滤行 基于查找的结果将行标记为更新,如更新缓慢更改的维表 在一个映射中多次调用相同的查找         配置未连接的查找转换时,请完成以下步骤:  添加输入端口. 添加查找条件. 指定一个返回值. 调用其它转换中的查找. 步骤 1. 添加输入端口 为 :LKP 表达式中的每个参数创建一个输入端口.您需要在查找转换中为每

Informatica 常用组件Lookup缓存之二 使用永久查找高速缓存

可以将"查找"转换配置为使用非永久或永久高速缓存.基于"查找高速缓存永久"属性的会话成功后,PowerCenter 将保存或删除查找高速缓存文件. 如果查找表在会话间没有更改,则可以将"查找"转换配置为使用永久查找高速缓存.PowerCenter 在会话期间保存并重新使用高速缓存文件,消除了读取查找表所需的时间. 使用非永久高速缓存 默认情况下,在"查找"转换中启用高速缓存时,PowerCenter 将使用非永久高速缓存.在会

Informatica 常用组件Lookup缓存之一 概述

可以配置查找转换以高速缓存查找表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.PowerCenter 会将条件值存储在索引高速缓存区中,而将输出值存储到数据高速缓存区.PowerCenter 将查询进入转换的每行的高速缓存. 默认情况下,PowerCenter 还将在 $PMCacheDir 中创建高速缓存文件.如果数据在存储器高速缓存区中放不下,PowerCenter 会将溢出值存储在高速

Informatica 常用组件Lookup之十 创建查找转换

在 Mapping Designer 中选择"转换-创建".选择查找转换.输入转换名称.查找转换的命名惯例是 LKP_TransformationName.单击"确定". 在"选择查找表"对话框中,您可以选择以下选项: 选择现有表或文件定义. 选择从关系表或文件导入定义. 跳过以创建手动定义. 为每个需要定义的查找条件定义输入端口. 对于未连接查找转换,请为需要从查找返回的值创建一个返回端口. 为需要传递到其它转换的值定义输出端口. 对于使用动态

Informatica 常用组件Lookup之一 概述

转换类型:被动.已连接/未连接 在映射中使用查找转换以从平面文件或关系表.视图或同义词查找数据.您可以从 PowerCenter Client 和 PowerCenter Server 均连接至的任何平面文件或关系数据库中导入查找定义.您可以在一个映射中使用多个查找转换. PowerCenter 基于转换中的查找端口来查询查找源.它基于查找条件将查找转换端口值与查找源列值相比较.将查找结果传递至其它转换和目标. 您可以使用查找转换执行多项任务,包括: 获取相关值.例如,源包括员工标识,但您需要在

Informatica 常用组件Lookup之六 查询

PowerCenter 基于您在查找转换中配置的端口和属性来查询查找.当第一行输入到查找转换时,PowerCenter 运行一个默认的 SQL 语句.如果使用关系查找,您可以在"查找 SQL 覆盖"属性中自定义默认查询. 默认查找查询         默认查找查询包含以下语句:  SELECT.SELECT 语句包括映射中的所有查找端口.您可以通过使用查找 SQL 覆盖属性生成 SQL 来查看 SELECT 语句.切勿在默认 SQL 语句中添加或删除任何列. ORDER BY.ORDE

Informatica 常用组件Lookup之二 已连接和未连接的查找

可以配置一个已连接的查找转换,以从映射管道中直接接收输入:您也可以配置一个未连接的查找转换,以从其它转换的表达式结果中接收输入. 已连接的查找 未连接的查找 直接从管道接收输入值. 从其它转换的 :LKP 表达式结果接收输入值. 可以使用动态或静态高速缓存. 可以使用静态高速缓存. 高速缓存包括映射中用到的所有查找列(即,包括在查找条件中的查找源列,以及作为输出端口链接至其它转换的查找源列). 高速缓存包括查找条件中的所有查找/输出端口和查找/返回端口. 可以从相同的行返回多列,或插入到动态查找

Informatica 常用组件Lookup之八 查找高速缓存

可以配置查找转换以高速缓存查找文件或表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.PowerCenter 会将条件值存储在索引高速缓存区中,而将输出值存储到数据高速缓存区.PowerCenter 将查询进入转换的每行的高速缓存. 默认情况下,PowerCenter 还将在 $PMCacheDir 中创建高速缓存文件.如果数据在存储器高速缓存区中放不下,PowerCenter 会将溢出值存储