Lookup component 用法

Lookup component 类似于Tsql的join子句,

select a.* ,b.*
from dbo.tis a
left join dbo. tdes b
on a.code=b.code

Lookup component的组成分析

  • 两个输入,一个是上游数据流的输入 dbo.tis,一个是要查找的数据集 dbo.tdes;
  • 两个输出,一个是输出匹配成功的数据,一个是输出匹配不成功的数据。上游数据流的一行数据跟整个查找集进行匹配,如果匹配成功,那么输出匹配成功的数据,否则,输出匹配不成功的数据。
  • 比较逻辑,要进行匹配必须进行比较,lookup componet是等值比较,类似于join的on子句,on子句使用 “=” 进行条件判断。
  • 比较列,Lookup component需要设置“=”号两端的比较列。

1,Lookup component 有三种cache mode,FullCache,Partial Cache 和No Cache,这三种Cache Mode是针对lookup dataset的,由于上游数据流的每一行都要和lookup dataset的所有行进行匹配,对lookup dataset的访问是非常频繁的,为了提高性能,必须提高对lookup dataset的访问速度。如果内存允许,选择full cache,将lookup dataset的数据驻留在cache中,访问速度是最高的。

2,cache Connection manager是内存链接管理器,数据驻留在cache中。手动输入column,并选择type,length,codepage,index position。index position标识column是否是index column。index用于标识比较列,为1标识columnindex column,用于比较,为0标识该列不是index column,虽然不能用于比较列,但是可以用于replace 输入列。

3,cache Connection manager仅仅是标识内存的schema,但是数据源在哪里?需要使用 cache conversion将数据源中的数据导入到cache中。Codex前面有一个放大镜,标识该列是查找列,用于比较。

4,Lookup component 设置比较列mapping

在Lookup component的Columns选项卡中设置比较列mapping,Code和Codex进行比较,即on子句的比较条件。

如果需要使用查找集来代替上游数据流输入,可以勾选Available Lookup Columns的非查找列(index 列没有放大镜的列),然后在Lookup operations中选择Replace。如果要将lookup columns增加到输出流中,在Lookup operations中选择add as new column。

5,lookup component的输出有两个,匹配成功始终有输出,但是需要配置匹配不成功的输出,如图

Redirect rows to no match output :将没有匹配的行输出到匹配不成功的输出流中。

时间: 2024-10-25 17:31:31

Lookup component 用法的相关文章

Script component 用法

在SSIS中,可以使用C#编写脚本,这是十分激动人心的事,能够使用C#代码,使得Script Component无所不能. 第一部分:组件简介Script Component 有三种类型:Source, Destination and Transformation 1,每种类型的脚本,都有两种类型的参数:ReadOnly 和ReadWrite,在脚本中可以使用 this.Variables.VariableName 来获取或设置参数变量的值 示例:创建四个Variable,并传递给Script

Conditional Split component 用法

Conditional Split 用于将数据流按照条件进行拆分,每一个output 都有name和condition. 数据流逐行按照condition进行match,如果match,那么改行会进入相应的output.如果数据行跟所有的condition都不match,那么改行会进入defaultoutput,这种逻辑类似于C语言中的switch语句.进行match的时候,字符串常量使用双引号标识:“string”,等于号使用==. SSIS在Conditional Split Editor中

Lookup 组件用法全解

Lookup是查找的意思,Lookup组件实现两个数据源的连接,和Join语句实现的功能类似,使用Lookup 组件需要配置: 两个输入:一个是上游数据流的输入Source Table,一个是要查找的数据集 Lookup Table: 两个输出:一个是输出匹配成功的数据,一个是输出匹配不成功的数据.上游数据流的一行数据跟整个查找集进行匹配,如果匹配成功,那么输出匹配成功的数据,否则,输出匹配不成功的数据: 比较逻辑:Lookup 组件等值比较,类似于join的on子句,on子句使用 "=&quo

Derived Column 用法

Derived Column Component 用法是为数据流增加派生列,Derived column  有两种用法:add as new column 或 replace . 图中,增加一个 Derived Column Name 是Country add as new column:derived column 是增加数据流的列 replace:代替数据流中的column 下游 component 从 derived column component 获取的 column metadata

SSIS 阻塞,半阻塞和全阻塞 (Non-blocking, semi-blocking and Fully-blocking) transformations清单

三种Blocking类型,这里跟数据流的Buff关系很大:■■ non-blocking transformations,每一行直接转换输出,没有等待.■■ partial-blocking transformation,直到存储一定数量的好才输出.■■ blocking transformation, 在输出前必须先读入所有行. Logical Row-Level Transformations Data   flow transformation purpose blocking type

Informatica Powercenter学习笔记

LOOKUP TRANSFORMATION的使用点评: LOOKUP基本用法不熟的话请参考下附属信息. 用法感受: 1 LOOKUP的作用跟我们以前在EXCEL的函数功能类似,就是隔表取值.优点就是用ETL工具可以设置CACHE,大量的 数据也可以实现这个功能.数据量大的话要设置CACHE ENABLE并调高CACHE SIZE的值. 2 LOOKUP 有CONNECTED 和UNCONNECTED的两种,根据需要而用,如果很多字段要取对应的这个值的话,就用UNCONNECTED.在具体项目中要

cat监控平台环境搭建

项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提示: git [email protected]:dianping/cat.git mvn-repo 当你直接把这条命令贴到terminal里执行时,会提示命令无效,正确的姿势如下: 1.先安装jdk 1.7 这点很重要,cat项目的开发时间比较早,当时估计jdk8还没有,在1.8下编译虽然能成功,

INFORMATICA POWERCENTER 学习笔记(二)

LOOKUP TRANSFORMATION的使用点评: LOOKUP基本用法不熟的话请参考下附属信息. 用法感受: 1 LOOKUP的作用跟我们以前在EXCEL的函数功能类似,就是隔表取值.优点就是用ETL工具可以设置CACHE,大量的 数据也可以实现这个功能.数据量大的话要设置CACHE ENABLE并调高CACHE SIZE的值. 2 LOOKUP 有CONNECTED 和UNCONNECTED的两种,根据需要而用,如果很多字段要取对应的这个值的话,就用UNCONNECTED.在具体项目中要

【Spring】IOC之基于注解的配置bean

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.基于注解的配置 Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository.@Service 和 @Controller.在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层.业务层和控制层(Web 层)相对应.虽然目前这3 个注