Lookup
0
投票
3
已解决
4394
浏览
各位大神,请问下,Informatica里面做表关联是什么场景用LOOK UP 什么场景用 JOIN。
BAO胖子 回复了问题 • 2015-09-24 13:59
对informatica不熟悉,用过datastage的lookup,看看能不能借鉴:
Join = select a.a from a, b where a.aa = b.aa
lookup = select a.a from a where exist... 显示全部 »
Join = select a.a from a, b where a.aa = b.aa
lookup = select a.a from a where exist... 显示全部 »
对informatica不熟悉,用过datastage的lookup,看看能不能借鉴:
Join = select a.a from a, b where a.aa = b.aa
lookup = select a.a from a where exists (select 1 from b where a.aa=b.aa)
差不多这个情况吧。Lookup的重要特点是,一旦找到第一个匹配的就返回结果,不继续找了。Join不是的,它会继续找所有的记录。因此效能上lookup更高,需要注意的是,如果是大表要和主表的key partition模式一致,分到一个分区速度快非常多;小表就只直接broadcast,而且,注意排序的顺序和主表一致。
Join = select a.a from a, b where a.aa = b.aa
lookup = select a.a from a where exists (select 1 from b where a.aa=b.aa)
差不多这个情况吧。Lookup的重要特点是,一旦找到第一个匹配的就返回结果,不继续找了。Join不是的,它会继续找所有的记录。因此效能上lookup更高,需要注意的是,如果是大表要和主表的key partition模式一致,分到一个分区速度快非常多;小表就只直接broadcast,而且,注意排序的顺序和主表一致。
0
投票
3
已解决
4394
浏览
各位大神,请问下,Informatica里面做表关联是什么场景用LOOK UP 什么场景用 JOIN。
BAO胖子 回复了问题 • 2015-09-24 13:59