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 Lookup Transformation组件是数据集成工具Informatica PowerCenter中的关键组件之一,主要用于在数据处理流程中获取关联的值或进行特定计算。Lookup Transformation允许开发者从一个或多个数据源中查找...
1. 在查找转换(Lookup Transformation)的属性设置中选择“动态”选项。 2. 配置缓存刷新策略,例如在每个事务开始时刷新,或者在满足特定条件时刷新。 3. 可能需要考虑性能影响,因为动态查找缓存会增加数据库查询...
Informatica Joiner Transformation 组件是 Informatica PowerCenter 中的一种数据转换组件,用于连接两个不同源的关系表或者文件系统中的数据。该组件可以连接来自不同源的数据,也可以连接来自同一个源的数据。 ...
Informatica中的lookup transformation组件除了能实现这种普通的转换,还可以用来更新缓慢变化维等,功能可谓强大。本文根据Informatcia8.1的联机文档,简单介绍一下informatica的lookup transformation。中英文名词...
- **转换组件(TRANSFORMATION)**简介: 提供各种转换组件,如Pass Through Mapping、Aggregation、Join/Lookup等。 #### 7. Workflow Manager 介绍 - **功能介绍**: - **REPOSITORY**菜单: 管理与Repository ...
Informatica提供了大量预置的转换组件,例如表达式转换(Expression Transformation)、查找转换(Lookup Transformation)、排序转换(Sorter Transformation)、联合转换(Aggregator Transformation)等。...
- 显示映射中使用的查找转换(Lookup Transformation)中的端口链接。 - 查找转换是 PowerCenter 中非常重要的转换之一。 #### 六、映射(Mapping)相关信息查询 1. **列出映射名称(List mapping names)** - ...
- Mapping中,通过Update Strategy Transformation标识Insert、Update、Delete或Reject操作。 - Session中,配置Treat source row as属性及Target的插入、更新、删除策略。 - 在Update Strategy Expression中,...
- **Lookup Transformation**: 用于查找外部表或缓存中的数据。 - **Shortcuts Lookups and Reusable Transformations**: 支持创建可复用的转换组件。 ##### 4. 调试与排序 - **Debugger**: 提供调试映射的功能,...
对于开发人员和管理员来说,了解如何有效地查询Informatica资料库中的元数据至关重要。本文将详细介绍一系列用于查询Informatica PowerCenter资料库元数据的SQL脚本。 #### 2. 文件夹 (Folder) ##### 2.1 列出...
1. INFORMATICA POWERCENTER 体系结构 2. REPOSITORY SERVER 和 INFORMATICA SERVER 介绍 3. INFORMATICA 客户端工具介绍 4. REPOSITORY SERVER ...6.18. 练习 10: JOIN 和 LOOKUP 7. WORKFLOW MANAGER 介绍
首先,我们来看"Transformation中文教程7.1.1.pdf",这很可能是关于Informatica PowerCenter中的Transformations的中文指南。Transformations是Informatica工作流程中的核心部分,它们负责对输入数据进行处理和转换...
- 非连接型`Lookup`只有一个返回端口,并通过`LOOKUP()`函数在表达式中调用。 - 连接型`Lookup`支持默认值,而非连接型`Lookup`在找不到匹配记录时返回空值。 3. **CACHE配置:** - `Lookup`可以配置为使用CACHE...
在 Informatica PowerCenter 中,了解基本术语至关重要。Repository(仓库)是整个系统的中枢,存储所有元数据,包括源系统信息、目标系统定义、映射逻辑等。Designer Manager 是设计环境,用于创建和管理各种对象,...
Informatica PowerCenter 是一款强大的数据集成工具,广泛应用于企业级数据仓库项目中。其核心功能之一是通过一系列组件实现数据的提取、转换与加载(ETL)。本文将详细介绍 PowerCenter 中的一些常用组件,包括 ...
2. **Transformation**:转换是Informatica PowerCenter中数据处理的核心操作。教程涵盖了以下几种常见的转换类型: - **Expression**:表达式转换用于创建、修改或组合字段值,可以进行算术运算、逻辑判断等。 - ...
- **Lookup**: 实现查找功能,可以从其他数据源中检索额外的信息来增强当前的数据集。 - **Aggregator**: 用于聚合数据,实现分组统计等功能。 - **Filter**: 过滤不符合条件的数据行,只保留符合条件的数据。 - **...
- 在映射中使用`Update Strategy Transformation`来标识每行数据的行为(插入、更新、删除或拒绝)。 - 在Session配置中设置`Treats Source Row As`属性(Insert、Update、Delete或Data Driven)以及目标表的行为...
市场上常见的ETL工具有Informatica、Datastage、OWB(Oracle Warehouse Builder)和微软的DTS(Data Transformation Services)等,它们提供了丰富的功能来简化和自动化ETL流程。 为了优化ETL过程,建议采取以下...