`

Informatica lookup 组件的用法

 
阅读更多

Informatica中的lookup transformation

Lookup在ETL中是一种常见的操作,比如产品键到代理键的转换,ID到name的转换等,都可以通过lookup来实现。Informatica中的lookup transformation组件除了能实现这种普通的转换,还可以用来更新缓慢变化维等,功能可谓强大。本文根据Informatcia8.1的联机文档,简单介绍一下informatica的lookup transformation。

 

中英文名词对应:

  • transformation:转换
  • connected:连接的
  • unconnected:未连接的
  • cache:缓存

一、lookup的功能

  • 获得相关值:例如根据ID查找name
  • 执行计算:例如得到计算公式得到一个结果
  • 更新缓慢变化维:根据lookup的条件决定是插入还是更新记录等


二、rational lookups vs flat file lookups

lookup的源可以是关系数据库中的表,也可以是平文件。对于关系表,可以从source或者target中选择,也可以和平文件一样,通过import向导完成。

三、connected lookups vs unconnected lookups

informatica的转换可以分为连接的和非连接的两种。

所谓连接的转换,就是该转换是处于整个ETL的数据流中的,其输入ort是直接从另外一个转换,而非连接的,则独立于主数据流之外,通过其他转换中的表达式得到输入数据。

连接的lookup转换将处理数据流中的每一条数据,对于不符合lookup条件的,则输出预先指定的默认值,并且可以更新动态缓存。输出值是所有的output/lookup port。可以使用静态或者动态的缓存。

未连接的lookup转换只处理符合lookup条件的数据,并且只返回一个值。对于不符合条件的,输出NULL。未连接的lookup转换可以被多次调用。输出值在唯一的return port。只能使用静态缓存。

四、cache

informatica对于lookup使用了cache机制。服务器对于cache的处理流程大致如下:
开始处理第一条数据的时候,服务器会在内存中建立缓存,缓存的大小有lookup转换的一些属性决定。对于lookup条件,建立一个index cache,而对于输出值,则放在data cache中。

如果内存缓存大小不够,则会将溢出的缓存放到文件中。会话结束后,缓存会被清除,除非lookup缓存被设置为永久性的。

对于静态的cache,是不允许lookup转换对其进行更新的。而动态的cache,在lookup中如果发现不符合条件的值,可以对cache进行插入或者更新处理。

当然也可以选择不使用任何cache。

五、lookup transmation组件

lookup共有5个组件,也就是在lookup转换上点右键,选编辑后看到的5个标签页。实际上,基本上informatica所有的transformation都差不多是5个组件。
其中第一个transformation页签,第二个ports页签和第五个metadata extensions页签基本都差不多。只是lookup的port除了通常的I(input),O(output)外,还有L(lookup),R(return)。其中return port只能有一个,并且不能和其他转换直接连接,只能通过LKP:表达式获得。

第四个condition页签指定lookup的条件,实际上就是设置两个表的关联条件。

第三个properties是最重要的,可以在这里重写SQL来自定义lookup,设置符合条件返回多条记录时的处理方式,设置是否使用动态cache,以及cache的大小等等。

六、lookup tips

  • 在lookup条件列上创建index
  • 尽量使用=条件。如果有多个条件,尽量将=条件放到最前面
  • 对于小表,尽量使用cache,并且设置cache大小,使得整个table可以cache到内存中
  • 如果lookup的表和源表在同一个数据库中,并且cache不够大,那么尽量使用join而不是lookup
  • 对于静态的lookup,尽量使用永久cache(persistent cache),这样多个session可以重用。
分享到:
评论

相关推荐

    informatica转换组件用法总结

    本文将详细解析几个重要的转换组件,包括Source Qualifier、Update Strategy和Expression,以及Lookup的使用方法,旨在帮助初学者更好地理解和应用这些组件。 1. **Source Qualifier** Source Qualifier主要负责...

    informatica组件介绍

    本文将详细介绍Informatica中几个关键组件的功能与使用方法。 #### 客户端简介 Informatica客户端提供了图形化的操作界面,方便用户进行数据映射的设计、调试及部署。主要包括PowerCenter Designer和PowerCenter ...

    Informatica缓慢变化维

    3. 使用Lookup组件:查找目标表中的匹配项,以便确定哪些记录需要更新。 4. 使用Update组件:根据设定的规则(如Iif函数)来决定是插入新记录、更新现有记录还是拒绝变更。 5. 设置目标表:确保主键设置正确,工作流...

    Informatica-时间增量抽取更新图文教程.docx

    1. **使用 Lookup 组件**:在 Mapping 中,引入 Lookup 组件,将源表与目标表进行比较。比如,基于源表的 `ID` 查找目标表的记录,根据 `NAME` 字段决定是否更新或插入。 2. **Update Strategy 组件**:通过 Update...

    ETL Informatica

    学习Informatica,不仅需要理解ETL的基本原理,还需要掌握其工作流程、组件用法以及如何利用其特性解决实际问题。通过不断的实践和学习,我们可以利用Informatica提升数据集成的效率和质量,为企业决策提供强有力的...

    PowerCenter常用组件使用方法

    本文将详细介绍 PowerCenter 中的一些常用组件,包括 Lookup、Expression Editor、Filter、Joiner、Router 和 Sorter 的使用方法。 #### 二、Lookup 组件 **定义:** - Lookup 组件用于查找或检索来自外部源的数据...

    Informatica培训.pptx

    通过对以上各个步骤的学习和实践,可以全面掌握Informatica的基本使用方法。这不仅有助于提高数据集成项目的效率,还能帮助组织更好地管理和利用其数据资产。在实际应用中,还需不断探索更高级的功能和技术,以满足...

    informatica全量,按时间戳增量更新抽取

    - **步骤07**: 添加`update`组件,并连接`lookup`和`f(x)`组件的输出端口。 - **步骤08**: 编辑`update`组件属性,确定更新规则。 - **步骤09**: 连接`update`与目标表,保存Map。 #### 四、Informatica Update机制...

    Informatica学习笔记十九点

    - Lookup组件允许从其他表或视图中查找数据,自定义SQL可以解决复杂查询需求,但语法错误会导致映射失败。 10. **增量抽取**: - Informatica的Infopower支持增量数据抽取,通过跟踪变更字段或时间戳实现高效数据...

    informatica 学习教程

    本次提供的学习教程是关于Informatica PowerCenter V7.1.2的,它详细介绍了该软件的体系结构、各个组件的功能,以及如何使用客户端工具进行数据集成的设计和实施。 首先,Informatica PowerCenter体系结构是其软件...

    Informatica_Powercenter安装与配置参考文档

    7. 菜单说明:详细介绍了sourceAnalyzer、TargetDefinition和Transformer菜单的功能和使用方法。 8. 事务控制:讲述了如何创建事务控制组件以及事务的逻辑处理,包括事务的开始、提交和回滚等操作。 9. 表的关联:...

    Informatica useful doc

    本文档详细介绍了如何安装和运行 Informatica PowerCenter 8.6,包括其主要功能和使用方法。通过学习这些内容,您可以更好地利用 Informatica 的强大功能来满足您的数据集成需求。如果您有任何疑问或需要进一步的...

    Informatic 实用资料整理

    2. **使用方法**:如何在设计环境中创建、配置和连接这些转换。 3. **工作原理**:解释每个转换如何处理数据流,以及在处理过程中的并行性和性能优化。 4. **实例应用**:提供实际案例,展示如何解决特定的数据处理...

    ETL_InformaticaPowercenter缓慢变化维[参照].pdf

    在Informatica PowerCenter中,处理缓慢变化维时,我们需要使用Lookup组件来查找现有记录,然后使用Update Strategy组件判断是否需要更新。Update Strategy组件的公式是基于源和目标字段之间的差异,例如,如果性別...

    powercenter学习总结

    安装过程中会涉及到服务器和客户端组件的安装,包括Repository Server、Integration Service、Repository Manager、PowerCenter Client等。安装完成后,需设置Repository连接,确保所有服务能够正常启动和通信。 三...

    ETL设计说明书.doc

    ETL模式指定了处理不同类型数据的标准操作,例如使用 lookup 表进行关联,使用 aggregations 进行统计计算,或者使用CDC(Change Data Capture)捕获数据库的变化。 4.3 数据抽取(Extract)和数据变换(Convert)...

Global site tag (gtag.js) - Google Analytics