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的数量,以减少聚合时存储在数据缓存中的数据量
本文主要是介绍优化之Aggregator组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这篇关于优化之Aggregator组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!