码迷,mamicode.com
首页 > 其他好文 > 详细

Lookup component 用法

时间:2015-05-10 12:46:34      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

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 :将没有匹配的行输出到匹配不成功的输出流中。

技术分享

 

Lookup component 用法

标签:

原文地址:http://www.cnblogs.com/ljhdo/p/4491911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!