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,则会话将失败。
Informatica 常用组件Lookup之五 转换属性的更多相关文章
- Informatica 常用组件Lookup缓存之五 使用动态查找高速缓存
对于关系查找,当目标表也是查找表时,可能要配置转换以使用动态高速缓存.PowerCenter 将在处理第一个查找请求时创建高速缓存.它将根据查找条件为传递给转换的每行查询高速缓存.当您使用动态高速缓存 ...
- Informatica 常用组件Lookup之九 配置未连接的查找转换
在映射中,未连接的查找转换与管道是分开的.您可以使用 :LKP 引用限定符编写表达式以调用其它转换中的查找.未连接查找的常用用法包括: 测试表达式中某个查找的结果 基于查找结果过滤行 基于查找的结果将 ...
- Informatica 常用组件Lookup之四 查找组件
在映射中配置查找转换时,请定义以下组件: 查找源 端口 属性 条件 元数据扩展 查找源 您可以使用平面文件或关系表作为查找源.创建查找转换时,您可以从以下位置导入查找源: 资料库中的任 ...
- Informatica 常用组件Lookup缓存之四 使用不高速缓存的查找或静态高速缓存
默认情况下,在为高速缓存配置查找转换时,PowerCenter 将创建静态查找高速缓存.PowerCenter 将在处理第一个查找请求时创建高速缓存.它将根据查找条件为传递给转换的每行查询高速缓存.P ...
- Informatica 常用组件Lookup缓存之三 重建查找高速缓存
如果您认为查找源在 PowerCenter 上次构建高速缓存时已更改,则可指示 PowerCenter 重建查找高速缓存. 重建高速缓存时,PowerCenter 会覆盖现有永久高速缓存文件而创建新的 ...
- Informatica 常用组件Lookup缓存之二 使用永久查找高速缓存
可以将"查找"转换配置为使用非永久或永久高速缓存.基于"查找高速缓存永久"属性的会话成功后,PowerCenter 将保存或删除查找高速缓存文件. 如果查找表在 ...
- Informatica 常用组件Lookup缓存之一 概述
可以配置查找转换以高速缓存查找表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.PowerCen ...
- Informatica 常用组件Lookup之十 创建查找转换
在 Mapping Designer 中选择"转换-创建".选择查找转换.输入转换名称.查找转换的命名惯例是 LKP_TransformationName.单击"确定&q ...
- Informatica 常用组件Lookup之八 查找高速缓存
可以配置查找转换以高速缓存查找文件或表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.Power ...
随机推荐
- 全文搜索引擎 Elasticsearch (二) 使用场景
1.场景—:使用Elasticsearch作为主要的后端 传统项目中,搜索引擎是部署在成熟的数据存储的顶部,以提供快速且相关的搜索能力.这是因为早期的搜索引擎不能提供耐用的存储或其他经常需要的功能 ...
- UIView中常见的方法汇总
addSubview: 添加一个子视图到接收者并让它在最上面显示出来. - (void)addSubview:(UIView *)view 总结:这个方法同样设置了接收者为下一个视图响应对象.接收者 ...
- HTML Input 表单校验之datatype
凡要验证格式的元素均需绑定datatype属性,datatype可选值内置有10类,用来指定不同的验证格式. 如果还不能满足您的验证需求,可以传入自定义datatype,自定义datatype是一个非 ...
- Java_常用API
1.基本类型包装类 1.1 概述 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型 ...
- redis与DB数据同步问题
Redis 是一个高性能的key-value数据库. redis的出现,很大程度补偿了memcached这类key-value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用.它提供了Pyt ...
- nc工具学习
0x00.命令详解 基本使用 想要连接到某处:nc [-options] ip port 绑定端口等待连接:nc -l -p port ip 参数: -e prog 程序重定向,一旦连接,就执行 [ ...
- [漏洞复现]CVE-2010-2883 Adobe Reader 打开pdf电脑即刻中招
1.漏洞概述: CVE-2010-2883漏洞原理:“Adobe Reader在处理CoolType字体文件的sing表时,存在栈溢出漏洞,当打开特制的恶意PDF文件时,可允许任意代码远程执行.” 影 ...
- Android调用C#的WebService
Android调用C#写的WebService 学习自: http://www.cnblogs.com/kissazi2/p/3406662.html 运行环境 Win10 VS 2015 Andro ...
- 利用python制作电子签名
有时候我们需要在文档里粘上电子签名,通常使用photoshop制作,但是通常photoshop软件还需要下载.安装,对于不经常使用的人来说,单独装这个软件没啥必要. 因此我们可以利用python对签名 ...
- [BZOJ4372]烁烁的游戏(动态点分治+线段树)
和[BZOJ3730]震波几乎一样,每个点建两棵线段树分别代表它的管辖范围内以它为LCA的路径的贡献和它对父亲的贡献. 注意点分树上的点的距离在原树上不单调,所以不能有若距离超出限制就break之类的 ...