第五节 常用组件 之 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,则会话将失败。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Informatica Lookup组件是Informatica PowerCenter数据集成工具中的一个组件,它可以从指定的源数据中查找匹配的数据并将结果返回。Lookup组件常用于在数据仓库或数据湖中查找参考数据,比如查找客户属性或产品信息等等。 ### 回答2: Informatica lookup组件是一个数据集成工具,它主要用于在数据转换过程中查找某个值,以便将它与其他数据进行匹配和/或检查。此组件可以帮助开发人员快速和准确地构建数据集成流程,从而提高数据集成的准确性和可靠性。以下是详细介绍Informatica lookup组件的一些功能和优点。 1. 数据查找和匹配:lookup组件的主要功能是在源数据中查找某个值,以便将它与其他数据匹配。开发人员可以使用lookup组件来查找数据库表、文件、缓存、存储过程等数据源中的数据,并将这些数据与转换中的其他数据进行匹配和比较。此外,lookup组件还可以执行一些高级查询,如范围查询、时间戳查询等。 2. 提高数据集成的效率和准确性:lookup组件可以帮助开发人员快速构建和部署数据集成流程,从而加快数据集成速度,并提高数据集成的准确性和可靠性。此组件可以帮助开发人员通过精确匹配数据来减少错误,从而提高数据集成的成功率。 3. 支持灵活的数据映射和转换lookup组件可以帮助开发人员对数据进行复杂转换和映射,以实现多种情况下的数据转换需求。此外,该组件还支持数据重定向和过滤操作,使数据更加精细化和有效率。 4. 支持多种数据源:lookup组件可以连接多种数据源,包括数据库、文件、SOAP等信息系统。这意味着开发人员可以根据实际需要选择使用哪种数据源来进行数据抽取和转换。 5. 提供实时的数据更新和校验:lookup组件可以实时更新查询和匹配的数据,并提供数据校验和验证功能,以确保数据的准确性和一致性。这一点对于数据管理方面特别重要。 总之,lookup组件是Informatica ETL工具集中非常重要的组件之一,其高效、灵活、可靠、准确的数据集成功能为企业实现数据处理和数据分析带来了很大的帮助和支持。 ### 回答3: Informatica是一种流程集成工具,用于从各种来源提取,转换和加载(ETL)数据。 Lookup是Informatica PowerCenter中的一个重要组件,它允许管理者在运行ETL作业时进行实时数据查询,从而进行查找操作。Lookup组件提供了一个机制,以通过查询来更新或插入数据,类似于数据库的查询和更新操作。 Lookup组件提供了几种查找操作。他们分别是: 1. Lookup查询操作 此操作用于在目标表中查找存在的行。基于查询的结果,可以采取进一步操作,如转换或更新数据。 2. Update查询操作 此操作从查询结果中更新指定列值的目标表。此操作用于更新现有的记录。 3. Insert查询操作 此操作在目标表中插入记录,如果记录不存在的话。或者,如果行已存在,您可以选择执行更新操作。 Lookup组件提供了内部和外部查找表操作。内部查找表是存储在内存中的查找表,外部查找表则是从外部源读取的查找表,例如关系数据库表。 在使用Lookup组件时,还需要考虑一些常见的问题。其中一个是数据变异问题。数据突变可能指的是源数据中存在的重复数据或值的变化。其他问题包括如何处理空值和如何查找并更新多个列的值。 总之,Lookup组件是Informatica PowerCenter中的重要组件,它使得数据查询和更新变得简单而快速,使数据ETL流程变得更加可靠和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值