OWB Splitter用法

scenario: 

hr schema -> "Employee" table. 由于公司扩张,这个表变得特别大。现在想把这个表按照员工的加入时间分成两张表,比如1990年之前的叫“Emp_old”,另外一张叫“Emp_young”.

Splitter:

owb的splitter是把一个input row按照condition分为多个output输出的operator。Splitter会用multi table insert的方式去插入,这样也就大大提高了效率,所以当你有类似需求的话,应该采用splitter而不是多个filter来实现。(如果splitter的target输出到的operator会改变cardinality,如joiner,aggregator则会生成seperate的insert语句)

Multi-table-insert:
Insert all

when condition_1 then into "target_1" values(...)

when condition_2 then into "target_2" values(...)

Else into "target_3" values(...)

select ... from source table

如果用多个filter实现,就会分别select然后insert。即:

insert into "target_1" values(...) select ... from source table where condition_1
insert into "target_2" values(...) select ... from source table where condition_2

splitter的用法非常简单, 唯一需要设定的就是输出的condition,只需点击outPut group,在右手边的“property inspector”就可以设定输出的条件。

原文地址:https://www.cnblogs.com/qiyueshihuang/p/3339194.html