zoukankan      html  css  js  c++  java
  • 优化之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的数量,以减少聚合时存储在数据缓存中的数据量

  • 相关阅读:
    POJ3259
    常见OJ评判结果对照表
    python初尝试,写一个简单的爬虫程序
    springboot整合swagger,前后端接口规范
    idea 简单添加springmvc
    idea 搭建web项目
    java实现二分查找
    python语法
    kafka linux 常用操作指令
    spring 容器
  • 原文地址:https://www.cnblogs.com/shiliye/p/10690701.html
Copyright © 2011-2022 走看看