`
DangDang0701
  • 浏览: 77274 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

Informatica中的lookup transformation

    博客分类:
  • ETL
阅读更多

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

    Informatica Lookup Transformation组件是数据集成工具Informatica PowerCenter中的关键组件之一,主要用于在数据处理流程中获取关联的值或进行特定计算。Lookup Transformation允许开发者从一个或多个数据源中查找...

    Informatica Dynamic Lookup Cache

    1. 在查找转换(Lookup Transformation)的属性设置中选择“动态”选项。 2. 配置缓存刷新策略,例如在每个事务开始时刷新,或者在满足特定条件时刷新。 3. 可能需要考虑性能影响,因为动态查找缓存会增加数据库查询...

    Informatica Joiner Transformation组件 详解

    Informatica Joiner Transformation 组件是 Informatica PowerCenter 中的一种数据转换组件,用于连接两个不同源的关系表或者文件系统中的数据。该组件可以连接来自不同源的数据,也可以连接来自同一个源的数据。 ...

    informatical lookup的使用详解

    Informatica中的lookup transformation组件除了能实现这种普通的转换,还可以用来更新缓慢变化维等,功能可谓强大。本文根据Informatcia8.1的联机文档,简单介绍一下informatica的lookup transformation。中英文名词...

    Informatica V7.1.3基础培训

    - **转换组件(TRANSFORMATION)**简介: 提供各种转换组件,如Pass Through Mapping、Aggregation、Join/Lookup等。 #### 7. Workflow Manager 介绍 - **功能介绍**: - **REPOSITORY**菜单: 管理与Repository ...

    informatica组件详解

    Informatica提供了大量预置的转换组件,例如表达式转换(Expression Transformation)、查找转换(Lookup Transformation)、排序转换(Sorter Transformation)、联合转换(Aggregator Transformation)等。...

    informatica_powercenter资料库元数据查询.pdf

    - 显示映射中使用的查找转换(Lookup Transformation)中的端口链接。 - 查找转换是 PowerCenter 中非常重要的转换之一。 #### 六、映射(Mapping)相关信息查询 1. **列出映射名称(List mapping names)** - ...

    informatica转换组件用法总结

    - Mapping中,通过Update Strategy Transformation标识Insert、Update、Delete或Reject操作。 - Session中,配置Treat source row as属性及Target的插入、更新、删除策略。 - 在Update Strategy Expression中,...

    Informatica useful doc

    - **Lookup Transformation**: 用于查找外部表或缓存中的数据。 - **Shortcuts Lookups and Reusable Transformations**: 支持创建可复用的转换组件。 ##### 4. 调试与排序 - **Debugger**: 提供调试映射的功能,...

    informatica_powercenter资料库元数据常用查询

    对于开发人员和管理员来说,了解如何有效地查询Informatica资料库中的元数据至关重要。本文将详细介绍一系列用于查询Informatica PowerCenter资料库元数据的SQL脚本。 #### 2. 文件夹 (Folder) ##### 2.1 列出...

    Informatica参考手册

    1. INFORMATICA POWERCENTER 体系结构 2. REPOSITORY SERVER 和 INFORMATICA SERVER 介绍 3. INFORMATICA 客户端工具介绍 4. REPOSITORY SERVER ...6.18. 练习 10: JOIN 和 LOOKUP 7. WORKFLOW MANAGER 介绍

    Informatic 实用资料整理

    首先,我们来看"Transformation中文教程7.1.1.pdf",这很可能是关于Informatica PowerCenter中的Transformations的中文指南。Transformations是Informatica工作流程中的核心部分,它们负责对输入数据进行处理和转换...

    infomatica 组件功能

    - 非连接型`Lookup`只有一个返回端口,并通过`LOOKUP()`函数在表达式中调用。 - 连接型`Lookup`支持默认值,而非连接型`Lookup`在找不到匹配记录时返回空值。 3. **CACHE配置:** - `Lookup`可以配置为使用CACHE...

    powercenter学习总结

    在 Informatica PowerCenter 中,了解基本术语至关重要。Repository(仓库)是整个系统的中枢,存储所有元数据,包括源系统信息、目标系统定义、映射逻辑等。Designer Manager 是设计环境,用于创建和管理各种对象,...

    PowerCenter常用组件使用方法

    Informatica PowerCenter 是一款强大的数据集成工具,广泛应用于企业级数据仓库项目中。其核心功能之一是通过一系列组件实现数据的提取、转换与加载(ETL)。本文将详细介绍 PowerCenter 中的一些常用组件,包括 ...

    powercenter教程

    2. **Transformation**:转换是Informatica PowerCenter中数据处理的核心操作。教程涵盖了以下几种常见的转换类型: - **Expression**:表达式转换用于创建、修改或组合字段值,可以进行算术运算、逻辑判断等。 - ...

    PowerCenter Knowledge

    - **Lookup**: 实现查找功能,可以从其他数据源中检索额外的信息来增强当前的数据集。 - **Aggregator**: 用于聚合数据,实现分组统计等功能。 - **Filter**: 过滤不符合条件的数据行,只保留符合条件的数据。 - **...

    PowerCenter

    - 在映射中使用`Update Strategy Transformation`来标识每行数据的行为(插入、更新、删除或拒绝)。 - 在Session配置中设置`Treats Source Row As`属性(Insert、Update、Delete或Data Driven)以及目标表的行为...

    工作量最大的ETL设计蓝图.doc

    市场上常见的ETL工具有Informatica、Datastage、OWB(Oracle Warehouse Builder)和微软的DTS(Data Transformation Services)等,它们提供了丰富的功能来简化和自动化ETL流程。 为了优化ETL过程,建议采取以下...

Global site tag (gtag.js) - Google Analytics