可以使用排序输入选项改善聚合转换性能。使用排序输入时,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. Scala入门2(特质与叠加在一起的特质)

    一.介绍 参考http://luchunli.blog.51cto.com/2368057/1705025 我们知道,如果几个类有某些共通的方法或者字段,那么从它们多重继承时,就会出现麻烦.所以Jav ...

  2. 使用MYSQL+Redis完成分页读取功能

    public function getAnchorByPopularity($page, $pagesize){ //验证参数的正确性 if(!is_numeric($page) || !is_num ...

  3. Laravel框架初学一路由(基本路由)

    基本路由 Laravel最基本的路由:接收一个URI和Closure闭包函数 ,提供了定义路由的一种非常简单且富有表达力的方式 Route::get("foo", function ...

  4. POJ - 1329 Circle Through Three Points 求圆

    Circle Through Three Points Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4112   Acce ...

  5. 切换 NPM 镜像源

    转载:快速切换NPM源 我们介绍过cnpmjs.org和淘宝 npm 两个 NPM 镜像.除此之外,还有一些国外的 NPM 镜像.不同地区访问不同的镜像速度可能有差异,因此有时候需要切换 NPM 镜像 ...

  6. 订单超时、活动过期解决方案:php监听redis key失效触发回调事件

    Redis 的 2.8.0 版本之后可用,键空间消息(Redis Keyspace Notifications),配合 2.0.0 版本之后的 SUBSCRIBE 就能完成这个定时任务的操作了,定时的 ...

  7. ARC 101 D - Median of Medians

    题面在这里! 这种题只能二分答案把qwwq,直接做根本做不了啊... 首先你需要知道如何通过 一个区间<=x的数有多少个 来判断x和这个区间中位数的关系. 很显然当数有至少 [L/2]+1 个( ...

  8. [UOJ422]小Z的礼物

    设要取的物品集合为$S$,$E=n(m-1)+(n-1)m$,$x_T$为覆盖了$T$中至少一个元素的$1\times2$数量 $$\begin{aligned}\sum\limits_{i=1}^\ ...

  9. chinese hacker-----WriteUp

    原题地址:http://ctf5.shiyanbar.com/web/2/ 提示下载一个数据库 下载下来后发现是加密的  有密码,但发现密码不是4648 这里用到“DbView” 直接破解密码进入 发 ...

  10. [POI2015]Trzy wieże

    [POI2015]Trzy wieże 题目大意: 给定一个长度为\(n(n\le10^6)\)的仅包含'B'.'C'.'S'三种字符的字符串,请找到最长的一段连续子串,使得在这一段内出现过的所有字符 ...