datastage中join,lookup,merge的区别

这三个组件网上看了半天也没有发现什么实质性的区别,还不不甚了解,看到几篇文章介绍他们的区别,暂且转下,后续研究!


-----http://www.cognoschina.net/home/space.php?uid=40869&do=blog&id=29707

三个阶段的主要区别在与所使用的内存、对不匹配记录的处理以及对输入数据的要求不同。
join stage:多个输入链接,一个输出链接。会对输入数据进行按键分区,确保相同键值的记录位于同一分区并用同一节点进行处理,故每次只取较少行,所需内存小。对于不匹配记录按照链接方式的不同而有所差异。
merge stage:多个输入链接,其中一个表示主数据集,其余表示更新数据集,一个输出链接和多个reject链接。可在链接顺序中指定更新链接与reject链接的对应关系。 会对输入数据进行按键分区,确保相同键值的记录位于同一分区并用同一节点进行处理,故每次只取较少行,所需内存小。对不匹配记录会放入reject指定的数据输出中。要求主数据集与更新数据集均无重复值。
lookup stage:一个主链接,一个或多个引用链接,一个输出链接,一个reject链接。查找操作基于引用表的查找键列。查找键列在lookup中定义。查找数据与引用数据会全部读入内存,故需内存较大。无需对数据排序,但是应注意查找表的分区方式,与引用表相同或者采用全部分区方式。

---http://www.itqsc.com/dy6/Article/work/201103/235.html

Merge的处理
与Join Stage相似
Merge前需要做Key值的去重操作
只能有一个Master Link,可以有多个Update Link,每个Update Link可以对应一个Update Reject Link
Unmatched Masters Mode选项对Output有重要影响。

Lookup的处理
对连接字段可否为空必须一致
对没有查找到的数据需Continue处理
当有多个分区时,为了确保数据能正确连接,需要对Lookup Link 做Entire分区

Lookup、Merge、Join的区别
内存的使用方式不同
不匹配行的处理方式不同
输入需求不同(排序、去重)

Primary Input: port 0  时:
Joins Lookup Merge
Left Source Master

Secondary Input(s): ports 1,…时:
Joins Lookup               Merge
Right Lookup table(s) Update(s)
---------------------
--深秋技术分享 http://www.itqsc.com/




---http://bbs.csdn.net/topics/350222317

求教DATASTAGE中MERGE,JOIN和LOOKUP3者之间的区别,网上搜了好久,发现都没有中文的解释.我只知道LOOKUP当reference data比较小的时候,用LookUp Stage;当reference data比较大的时候,用Join Stage。

-

JOIN STAGE是用与数据库中的两个表输出时用到此STAGE.
MERGE STAGE是用于抽取平面文件时用与两个平面文件输出时用到此STAGE,就是流关联。
LOOK UP就是上一步骤是表输出或者是平面文件输出通过KEY来关于LOOK UP中查询的表来关联查询。一般用与跨库查询使用此,不跨库也可以使用。

不好意思,JOIN STAGE与MERGE STAGE这个重新解释下。
MERGE 应该是相当于SQL中的两张表连接,连接方法可以是ALL JOIN、LEFT JOIN、RIGHT JOIN.
JOIN 应该是相当于SQL中多张表连接。KETTLE中这两个组件就是这样。可以参考下。


-

DS 的 Merge lookup Join 主要是在性能上,和内存使用策略上有不同。它们的功能都是一样的,只不过执行的方式或说策略不同,于是它们一般推荐用于的领域也有不同。
lookup 故名思义就是 一个表在另一个表中找,处理过程都在内存进行性,大事实表和小纬表用这种方式关联效率高。
merge 和 join 的处理过程不需用占大量内存。不同在于 merge要先把key值排序在做join,而且Merge的输出集可以设为多个

merge 方式对于key值由重复的,重复记录中不能关联到,所以merge方式需要key值(也就是关联的字段)无重复



--一个小事例

http://www.cognoschina.net/club/viewthread.php?tid=17100



官方文档:

http://pic.dhe.ibm.com/infocenter/iisinfsv/v8r7/index.jsp?topic=%2Fcom.ibm.swg.im.iis.ds.parjob.dev.doc%2Ftopics%2Fc_deeref_Functions_functions.html









评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值