本文转载自:http://www.cnblogs.com/evencao/p/informatica.html

Informatica主要的组件:

Source Qualifier 从数据源读取数据

Expression 行级转换,计算式

Filter 数据过滤

Sorter 数据排序

Aggregator 聚合

Joiner 异构数据关系连接

Lookup 查询连接

Update Strategy 对目标编辑insert, update,delete ,reject

Router 条件分发

Sequence Generator 序列号生成器

Normalize 记录规范化

Rank 对记录进行TopX

Union 数据合并

Transaction Control 对装载数据按条件进行事务控制

Stored Procedure 存储过程组件

Http www组件

Java  java组件

之后为常用的组件进行说明

1.lookup组件:是一个passive组件

在对源抽取过程中,有时候数据源的信息不完善,相关的详细信息不明确,去别的表或者数据源中去关联。

这样输入一条记录,输出一条记录,否则为空。

lookup能访问的源:表文件,同义词,视图。

lookup cached:如果源的数据比lookup表的数据量多时,使用cached.这样的每次都要去数据库查询,性能不好。

例:

主要从invoice表传入字段,经过一个filter 过滤 ,条件为Not(ISNULL(DATE_CLOSED))and CANCELED=0,然后就是到lookup组件

通过cust_no和customer表中的Cust_id相等去从customer查找相应的条件,输出到目标数据表。

lookup 组件设置如图:

这样一个mapping就完成了。启用一个简单的workflow,这样执行结果如图:

2.Update Strategy:知道这条数据要做什么样的操作,对流过组件的每一条记录赋予一个恶操作标志

根据操作标志对目标表关系型数据库表生成SQL操作

操作标志有DD_INSERT,DD_DELETE,DD_UPDATE,DD_REJECT.

例:

在这个例子用lookup的作用是探查目标表里面是否存在这条记录,起到一个预判断的作用。

然后再update组件中的条件如图:

这个条件就是在lookup组件中返回的结果进行判断,如果为空即不存在这条记录就插入,如果存在就更新

DISCONTINUED_FLAG是源数据的字段,是判断这个商品是否被废弃掉。

可以创建一个wordflow运行它。验证结果。

3.Source Qualifier与filter :对流入组件中等的数据进行过滤。例子在例子1中已经做过。只能有一个条件。

先可以在Source Qualifier将不必要的数据过滤掉,这样能提高性能。

数据仓库基础(十)Informatica 组件1的更多相关文章

  1. {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm

    Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...

  2. day 64 Django基础十之Form和ModelForm组件

    Django基础十之Form和ModelForm组件   本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Mod ...

  3. Bootstrap<基础十五> 输入框组

    Bootstrap 支持的另一个特性,输入框组.输入框组扩展自 表单控件.使用输入框组,可以很容易地向基于文本的输入框添加作为前缀和后缀的文本或按钮. 通过向输入域添加前缀和后缀的内容,您可以向用户输 ...

  4. 微信小程序(二十)-UI组件(Vant Weapp)-01按装配置

    1.官网 https://vant-contrib.gitee.io/vant-weapp/#/intro https://gitee.com/vant-contrib/vant-weapp 2.按装 ...

  5. Bootstrap <基础十九>分页

    Bootstrap 支持的分页特性.分页(Pagination),是一种无序列表,Bootstrap 像处理其他界面元素一样处理分页. 分页(Pagination) 下表列出了 Bootstrap 提 ...

  6. Bootstrap <基础十八>面包屑导航(Breadcrumbs)

    面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置. Bootstrap 中的面包屑导航( ...

  7. Bootstrap<基础十六> 导航元素

    Bootstrap 提供的用于定义导航元素的一些选项.它们使用相同的标记和基类 .nav.Bootstrap 也提供了一个用于共享标记和状态的帮助器类.改变修饰的 class,可以在不同的样式间进行切 ...

  8. Bootstrap<基础十四> 按钮下拉菜单

    使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...

  9. Bootstrap <基础十二>下拉菜单(Dropdowns)

    Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...

  10. Bootstrap<基础十> 响应式实用工具

    Bootstrap 提供了一些辅助类,以便更快地实现对移动设备友好的开发.这些可以通过媒体查询结合大型.小型和中型设备,实现内容对设备的显示和隐藏. 需要谨慎使用这些工具,避免在同一个站点创建完全不同 ...

随机推荐

  1. 用logstash,elasticSearch,kibana实现数据收集和统计分析工作

    原文链接:http://www.open-open.com/lib/view/open1448799635720.html 世界上的软件80%是运行在内网的,为了使得运行在客户端的软件有良好的体验,并 ...

  2. 【CF873F】Forbidden Indices 后缀自动机

    [CF873F]Forbidden Indices 题意:给你一个串s,其中一些位置是危险的.定义一个子串的出现次数为:它的所有出现位置中,不是危险位置的个数.求s的所有子串中,长度*出现次数的最大值 ...

  3. C++ 标准输出cout与printf

    C++标准输出cout与printf都可以,printf用法更死板一些. #include <iostream> int main(int argc, char** argv) { usi ...

  4. ftok函数

    ftok函数 系统建立IPC通讯(消息队列.信号量和共享内存)时必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型 头文件: #include <sys/types.h ...

  5. poj2778 DNA Sequence【AC自动机】【矩阵快速幂】

    DNA Sequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19991   Accepted: 7603 Des ...

  6. ZOJ 4029 - Now Loading!!! - [前缀和+二分]

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4029 Time Limit: 1 Second Memory L ...

  7. PAT-GPLT L2-027 - 名人堂与代金券 - [简单模拟]

    题目链接:https://www.patest.cn/contests/gplt/L2-027 对于在中国大学MOOC(http://www.icourse163.org/)学习“数据结构”课程的学生 ...

  8. 采用jquery同django实现ajax通信

    在网页访问中通过HTTP协议中的get/post文件发送数据或请求.在浏览器中输入url后,浏览器就会帮助我们完成请求的发送和返回,并刷新更新界面.但是,如果我们不想更新界面,仅仅是发送一个get/p ...

  9. Bitwise and Bit Shift Operators 位运算 取反 补码

    Bitwise and Bit Shift Operators (The Java™ Tutorials > Learning the Java Language > Language B ...

  10. JS-nodejs--nodewebkit--npm穿墙cnpm

    npm install 本地安装与全局安装的区别 本地安装1. 将安装包放在 ./node_modules 下(运行npm时所在的目录)2. 可以通过 require() 来引入本地安装的包 全局安装 ...