可以使用排序输入选项改善聚合转换性能。使用排序输入时,PowerCenter 会假定所有数据已按组排序。PowerCenter 读取某组的行时,它将执行聚合计算。需要时,它会将组信息存储在存储器中。要使用排序输入选项,您必须将已排序数据传递至聚合转换。配置具有多个分区的会话时,您可以通过已排序端口增进性能。

不使用排序输入时,PowerCenter 会执行其读取的聚合计算。但是,由于未排序数据,PowerCenter 将为每组存储数据直到它读取整个源,从而确保所有聚合计算准确。

例如,聚合转换具有带选定已排序输入选项的 STORE_ID 和 ITEM 分组依据端口。通过聚合传递以下数据时,一旦 PowerCenter 找到新的组 201/battery,就会在 101/battery 为三行执行聚合:

如果您使用排序输入而未正确预排序数据,将会收到意外结果。

排序输入条件

如果以下任意条件为真,则不要使用排序输入:

  • 聚合表达式使用嵌套聚合函数。
  • 会话使用增量聚合。

预排序数据

要使用排序输入,应通过聚合传递已排序数据。

必须如下排序数据:

  • 聚合分组依据端口的顺序,按照它们在聚合转换中出现的顺序。
  • 使用与会话配置的顺序一致的顺序。如果数据不是基于会话排序的严格升序或降序,PowerCenter 将终止会话。 例如,如果您配置会话使用法语排序,则必须使用法语排序排列传递至聚合转换中的数据。

对于关系或文件源,您可以在向聚合转换传递数据前使用排序器转换排序映射中的数据。如果没有转换更改已排序数据的顺序,那么您可以在聚合前将排序器转换放置在映射中的任意位置。聚合转换中的按列分组顺序必须与其在排序器转换中出现时的顺序一致。

如果会话使用关系源,您还可以使用源限定符转换中的已排序端口数选项排序源数据库中的分组依据列。分组依据列在聚合和源限定符转换中必须为同一顺序。

Informatica 常用组件Aggregator之三 使用排序输入的更多相关文章

  1. Informatica 常用组件Lookup之三 关系和平面文件查找

    创建查找转换时,您可以选择使用关系表或平面文件作为查找源. 关系查找 使用关系表作为查找源来创建查找转换时,您可以使用 ODBC 连接到查找源并导入表定义作为查找转换的结构. 仅可对关系查找使用以下选 ...

  2. Informatica 常用组件Aggregator之四 创建聚合转换

    在 Mapping Designer 中选择"转换-创建".选择聚合转换. 为聚合输入一个名称,并单击"创建".然后单击"完成". Desi ...

  3. Informatica 常用组件Aggregator之二 分组依据端口

    聚合转换允许您为聚合定义组,而不是在所有的输入数据间执行聚合.例如,您可以查找按地区分组的总销量,而不是查找总的公司销量. 要为聚合表达式定义组,请选择聚合转换中的相应输入.输入/输出.输出和变量端口 ...

  4. Informatica 常用组件Aggregator之一 聚合表达式

    转换类型:已连接.主动        聚合转换允许您执行聚合计算,比如平均值和总和.聚合转换与表达式转换不同,您可以使用聚合转换对多组执行计算.而表达式转换只允许您逐行地执行计算.        使用 ...

  5. Informatica 常用组件Filter之三 创建FIL

    在 Designer 中,切换到 Mapping Designer 并打开映射. 选择"转换-创建". 选择"过滤器转换",然后输入新的转换名称.过滤器转换的命 ...

  6. Informatica 常用组件Source Qualifier之七 使用排序端口

    使用已排序端口时,PowerCenter 将添加端口至默认查询中的 ORDER BY 子句.PowerCenter Server 将添加配置的端口号,从源限定符转换的顶部开始.在映射中包括以下任何转换 ...

  7. Informatica 常用组件Lookup缓存之一 概述

    可以配置查找转换以高速缓存查找表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.PowerCen ...

  8. Informatica 常用组件Lookup之七 查找条件

    PowerCenter 使用查找条件来测试收到的值.这与 SQL 查询中的 WHERE 子句相似.为转换配置查找条件时,将对转换输入值和查找源或高速缓存(用查找端口代表)中的值进行比较.当您运行工作流 ...

  9. Informatica 常用组件Lookup之五 转换属性

    查找转换的属性标识数据库源.PowerCenter 如何处理转换,以及它如何处理高速缓存和多项匹配. 创建映射时,为每个查找转换指定属性.创建会话时,您可在会话属性中覆盖某些属性,如每个转换的索引和数 ...

随机推荐

  1. CentOS 升级Python3.X和pip3

    目的:实现python3 and python2 共存,pip2 and pip3共存 一.安装依赖 yum install openssl-devel -y yum install zlib-dev ...

  2. ref:JAVA之Forward和Redirect的区别

    ref:https://www.cnblogs.com/selene/p/4518246.html 阅读目录 一:间接请求转发(Redirect) 二:直接请求转发(Forward) 用户向服务器发送 ...

  3. 深入理解SQL的四种连接,左外连接,右外连接,内连接,全连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...

  4. python获取当前系统的桌面的路径

    一,用内置的winreg(推荐) import winregdef get_desktop():    key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,\  ...

  5. Django快速创建博客,包含了整个框架使用过程,简单易懂

    创建工程                                                                                                 ...

  6. android无后缀二进制执行文件替代apk实现程序功能

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha android无后缀二进制执行文件替代apk实现程序功能 实现将data/Android ...

  7. 递归与分治策略之棋盘覆盖Java实现

    递归与分治策略之棋盘覆盖 一.问题描述 二.过程详解 1.棋盘如下图,其中有一特殊方格:16*16 . 2.第一个分割结果:8*8 3.第二次分割结果:4*4 4.第三次分割结果:2*2 5.第四次分 ...

  8. [BZOJ5291][BJOI2018]链上二次求和(线段树)

    感觉自己做的麻烦了,但常数似乎不算差.(只是Luogu最慢的点不到2s本地要跑10+s) 感觉我的想法是最自然的,但不明白为什么网上似乎找不到这种做法.(不过当然所有的做法都是分类大讨论,而我的方法手 ...

  9. 【dijkstra优化/次短路径】POJ3255-Roadblocks

    [题目大意] 给出一张无向图,求出从源点到终点的次短边. [思路] 先来谈谈Dijkstra的优化.对于每次寻找到当前为访问过的点中距离最短的那一个,运用优先队列进行优化,避免全部扫描,每更新一个点的 ...

  10. ROWID面试题-删除表中重复数据(重复数据保留一个)

    /* ROWID是行ID,通过它一定可以定位到r任意一行的数据记录 ROWID DNAME DEPTNO LOC ------------------ ------------------------ ...