优化之Aggregator组件

Aggregator组件一般会下降性能,由于它们必须在处理数据以前对数据进行分组
Aggregator组件须要额外的内存来保存中间组结果

经过以下方式对Aggregator组件进行优化
  简化group by字段
    1) group by避免使用复杂的表达式
    2) group by字段越少越好
    3) group by字段最好用数字,而不是字符或日期

  对input进行排序
    经过组件--> Properties --> 勾选Sorted Input选项对input数据进行排序
    Sorted Input选项勾选时,Integration Service会假定认为input已经被sorted,所以会减小聚合缓存的使用,并以此提升性能
    当Integration Service读取组的行时,它执行聚合计算。必要时,它将组信息存储在内存中
    Aggregator组件的input数据最好是已排好序的,能够与Sorter组件,或者Source Qualifier组件的Number of Sorted Ports选项一块儿使用
    在具备多个分区的session中勾选Sorted Input选项能够提升性能

  使用增量聚合
    若是source发生变更的数据小于target的一半,可以使用增量聚合
    使用增量聚合可只将本次改动的部分同步至target,而不是将总体重新同步
    也可在不产生系统分页操做的状况下,同构追加索引和数据缓存的方式将所有数据放入内存中处理

  聚合以前进行过滤
    在进行聚合操做以前,现将没必要要的数据进行过滤,好比使用filter组件

  限制port链接数量
    限制链接的input/output port或output port的数量,以减小聚合时存储在数据缓存中的数据量缓存

相关文章
相关标签/搜索