Informatica 常用组件Aggregator之三 使用排序输入

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

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

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

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

排序输入条件

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

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

预排序数据

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

必须如下排序数据:

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

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

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

时间: 2024-11-08 20:07:35

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

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

创建查找转换时,您可以选择使用关系表或平面文件作为查找源. 关系查找 使用关系表作为查找源来创建查找转换时,您可以使用 ODBC 连接到查找源并导入表定义作为查找转换的结构. 仅可对关系查找使用以下选项: 如果需要添加 WHERE 子句或查询多个表,则可以覆盖默认的 SQL 语句. 您可以对关系查找使用动态查找高速缓存. 平面文件查找 使用平面文件作为查找源时,可以使用资料库中的任何平面文件定义,或导入平面文件定义.如果导入平面文件查找源,Designer 将调用平面文件向导. 仅可对平面文件查

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

在 Mapping Designer 中选择"转换-创建".选择聚合转换. 为聚合输入一个名称,并单击"创建".然后单击"完成". Designer 创建聚合转换. 将所需端口拖到聚合转换. Designer 将为您包括的每个端口创建输入/输出端口. 双击转换标题栏,以打开"编辑转换"对话框. 选择"端口"选项卡. 单击您希望聚合在创建组时所使用的每列的分组依据选项. 可以选择输入默认值来替换空组. 如果您

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

转换类型:已连接.主动        聚合转换允许您执行聚合计算,比如平均值和总和.聚合转换与表达式转换不同,您可以使用聚合转换对多组执行计算.而表达式转换只允许您逐行地执行计算.        使用转换语言来创建聚合转换时,您可以使用条件子句过滤行,这比 SQL 语言更为灵活.        PowerCenter 执行其读取的聚合计算并存储聚合高速缓存中必需的数据组和行数据.         创建包含聚合转换的会话后,您可启用会话选项和增量聚合.当 PowerCenter Server 执行

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

聚合转换允许您为聚合定义组,而不是在所有的输入数据间执行聚合.例如,您可以查找按地区分组的总销量,而不是查找总的公司销量. 要为聚合表达式定义组,请选择聚合转换中的相应输入.输入/输出.输出和变量端口.您可以选择多个分组依据端口,为每个组的唯一组合创建新组.PowerCenter 随后将为每个组执行已定义的聚合. 对值分组后,PowerCenter 会为每个组生成一行.如果不对值分组,PowerCenter 则会为所有输入行返回一行.PowerCenter 通常将每个组的最后一行(或接收的最后行

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

使用已排序端口时,PowerCenter 将添加端口至默认查询中的 ORDER BY 子句.PowerCenter Server 将添加配置的端口号,从源限定符转换的顶部开始.在映射中包括以下任何转换时,您可以使用已排序端口来提高性能: 聚合.为已排序输入配置聚合转换时,您可以使用已排序端口发送已排序的数据.聚合转换中的分组依据端口必须与源限定符转换中的已排序端口顺序相匹配. 联接.为已排序输入配置联接转换时,您可以使用已排序端口发送已排序的数据.按与源限定符转换中相同的方式来配置已排序端口的顺

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

可以配置查找转换以高速缓存查找表.PowerCenter 将在处理高速缓存查找转换中的第一个数据行时在存储器中建立高速缓存.它将根据您在转换或会话特性中配置的数量来分配高速缓存区内存.PowerCenter 会将条件值存储在索引高速缓存区中,而将输出值存储到数据高速缓存区.PowerCenter 将查询进入转换的每行的高速缓存. 默认情况下,PowerCenter 还将在 $PMCacheDir 中创建高速缓存文件.如果数据在存储器高速缓存区中放不下,PowerCenter 会将溢出值存储在高速

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

查找转换的属性标识数据库源.PowerCenter 如何处理转换,以及它如何处理高速缓存和多项匹配. 创建映射时,为每个查找转换指定属性.创建会话时,您可在会话属性中覆盖某些属性,如每个转换的索引和数据高速缓存大小. 选项 查找类型 说明 Lookup SQL Override 关系 覆盖默认 SQL 语句以查询查找表. 指定希望 PowerCenter 用以查询查找值的 SQL 语句.仅在已启用查找高速缓存的情况下使用. Lookup Table Name 关系 指定转换将查找和高速缓存其值的

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

PowerCenter 使用查找条件来测试收到的值.这与 SQL 查询中的 WHERE 子句相似.为转换配置查找条件时,将对转换输入值和查找源或高速缓存(用查找端口代表)中的值进行比较.当您运行工作流时,PowerCenter 将基于条件在查找源或高速缓存中查询所有收到的值. 必须在所有查找转换中输入查找条件.查找条件的某些准则适用于所有查找转换,而某些准则则视您如何配置转换而定. 为查找转换输入条件时,请遵循以下准则: 条件中的数据类型必须匹配. 为条件中用到的每个查找端口使用一个输入端口.您

Informatica 常用组件Lookup缓存之三 重建查找高速缓存

如果您认为查找源在 PowerCenter 上次构建高速缓存时已更改,则可指示 PowerCenter 重建查找高速缓存. 重建高速缓存时,PowerCenter 会覆盖现有永久高速缓存文件而创建新的高速缓存文件.PowerCenter 重建高速缓存时会向会话日志写入消息. 当映射包含一个查找转换或映射包含共享了高速缓存的多个目标载入顺序组中的查找转换时,可以重建高速缓存.当动态查找与同一映射中的静态查找共享高速缓存时,不必重建高速缓存. 某些情况下,即使未选择重新高速缓存查找源,PowerCe