可以使用排序输入选项改善聚合转换性能。使用排序输入时,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. mysql find_in_set函数详解

    Mysql函数FIND_IN_SET()的使用方法 有了FIND_IN_SET这个函数.我们可以设计一个如:一只手机即是智能机,又是Andriod系统的. 比如:有个产品表里有一个type字段,他存储 ...

  2. linux下svn命令的使用

    1.将文件checkout到本地目录   svn checkout path(path是服务器上的目录)    例如:svn checkout svn://192.168.1.1/pro/domain ...

  3. 镣铐之舞:美团安全工程师Black Hat USA演讲

    背景 2018年8月9日,全球顶级安全会议——Black Hat USA在美国拉斯维加斯的曼德勒海湾会议中心落下了帷幕,这场盛会在全球黑客心中几乎等同于“世界杯”和“奥斯卡”一样的存在.这场一年一度的 ...

  4. 获取类的属性并排除特定属性(getType().GetProperties())

    当获取一个类型(class)的所有属性时,想排除指定属性,该如何操作? 比如:EF中一个实体类型UserEntity,通过反射获取这个类的属性时,想排除这个为映射的字段ID 使用以下方法即可! Pro ...

  5. 用 React 编写移动应用 React Native

    转载:用 React 编写移动应用 React Native ReactNative 可以基于目前大热的开源JavaScript库React.js来开发iOS和Android原生App.而且React ...

  6. Charles 对于线上比一比抓包怎么修改

    1: http://m.1768.com/?act=game_biyibi&abeam=1 Map Local /Users/zhengming/Desktop/biyibi.html biy ...

  7. JZYZOJ 2002 [cf] 石江豪pk李震 博弈论 sg函数

    http://172.20.6.3/Problem_Show.asp?id=2002 https://blog.csdn.net/qq_24451605/article/details/5015497 ...

  8. 让screen帮助你协同工作

    Screen是系统管理员手中的一件利器,下面我把它介绍给你,相信你会和我一样,认可这个非常棒的软件 一,什么情况下会用到screen?   比如说,我们在运行一个非常费时间的程序,注意:可能我们是在通 ...

  9. Codeforces Round #358 (Div. 2) A. Alyona and Numbers 水题

    A. Alyona and Numbers 题目连接: http://www.codeforces.com/contest/682/problem/A Description After finish ...

  10. zoj 3629 Treasure Hunt IV 打表找规律

    H - Treasure Hunt IV Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu ...