Bootstrap

DataStage:Partition、Node和PipeLine

Partition:分区
        DataStage会把读入的数据分成若干份(具体多少份由configuration file的Node总数决定),每一份称为一个Partition。使用时要特别注意聚合函数及rownum的使用,因为聚合函数及rownum在各个Partition上是独立的,互不影响。如若服务器配置的Partition数量为2,则SQL:select * from t_table where rownum<=10返回的数据为10*2=20条(假设t_table表中的数据多于20条),而不是预想的10条。
Node:节点
        通过配置configuration file(默认为default.apt),可以设置DataStage Node的总数。这里的Node是逻辑上的,并不是与物理的CPU一一对应。默认情况下,每个Node由两个CPU组成,也可以修改configuration file使每个CPU对应一个Node或多个CPU对应一个Node。Node的数量决定了Partition的数量,也即JOB的并行度。
PipeLine:管道
        PipeLine是DataStage的另一种并行技术。JOB开始运行后,在后台会给每个stage分配进程等待处理。当前一个stage有数据流出后,立即开始当前stage的处理;当前stage数据处理完成后,传入下一个stage;下一个stage马上处理。这样,同一时间就会有多条数据在处理,从而提高CPU利用效率。
;