PowerCenter基础心得

心得学习

[转自CSDN:http://blog.csdn.net/hualin_xie/article/details/4885800]

通过将近一周的学习时间,我大致掌握了PowerCenter 的基本架构和设计开发过程中的一些方法和技巧。PowcerCenter 也是属于典型的 C/S 架构,分为服务器组件和客户端组件,服务端有三个服务: Informatica Service 、Integration Service 和 Repository Service ,客户端主要就是 RDWM 四个组件。客户端主要用于设计开发 WorkFlow ,而服务器则用于运行 WorkFlow 。以下是我整个学习过程中的一些心得体会:

PowerCenter和 Datastage 一样,都是一款强大的 ETL 工具,这在我的学习中我深有体会。很多人说技术强的人根本不用工具,但我觉得不完全如此,我觉得只要工具用的恰到好处,那能达到事半功倍的效果。比如,如果你想对一个异构的数据源进行关联查询,那你不得不把异构的数据导入到同一个数据库中,然后再进行关联查询,这是多费神的一件事啊!然而,如果懂得使用 PowerCenter 工具,那么这类型的工作将很容易得到解决,你只要使用 PowerCenter 中的Joiner 组件或是 LookUp 组件就可以了。此外, PowerCenter 还为 ETL 过程提供很多有用的组件: Source Qualifier 组件实现把源数据抽取出来,它相当于 ETL 的抽取的过程; Expression 组件、 Filter 组件、 Aggregator 组件等实现数据的清洗转换,相当于转换的过程; Update Stategy 组件则是一个比较高级的组件,能根据更新策略进行目标表的加载,相当于加载的过程。可以说,只要你想要在 ETL 过程中实现的操作,都能在 PowerCenter 中实现。

以上说了一些PowerCenter 在 ETL 过程中会使用到的一些重要组件,而对这些组件的使用又有许多要注意的地方和技巧性的东西。比如, Active 组件和 Passive 组件使用上的注意; N个同构数据源只需用 1 个 Source Qualify 组件关联,关联时建议将在 Source  Analyzer中 将需要关联的源表 , 用连线手工关联起来,在Mapping 设计区删除各个源所带的 Source Qualify 组件,用一个新的 Source Qualify 组件包含所有源的字段内容 ; N个异构数据源需用 n-1 个 Joiner组件关联,关联时建议将数据量少的设置为 Master ; LookUp组件中如果要 LookUp 的次数少且 LookUp 表的数据量很大的话就没必要设置 Cache ; Sorter 组件的使用可以提高 Joiner 组件和 Aggregator 组件的效率,但要注意 Sorter组件排序的顺序要与汇总的顺序一致, Joiner组件和 Aggregator 组件中的 属性Sort 记得钩上 ;Update Strategy 有多种数据操作: DD_INSERT  、 DD_UPDATE 、 DD_DELETE 和 DD_REJECT ,用 Update Strategy 对目标表进行操作时一定要记得在 Target Designer 中设定主键值;不连接的 LookUp 组件的使用 时 要记得选中相应Port 的返回值选项"R "; Target load type 设置中 当目标表没有索引约束时可选Bulk 类型,数据量大时效率较明显 ,因为它跳过数据库的日志操作。

对于组件的使用,还是有很多需要注意的和技巧性的东西。实际上,这些都是比较细的地方,但是,要想真正使用PowerCenter 进行设计开发工作,更必需清楚它的六大开发步骤(定义源、定义目标、创建 Mapping 、定义任务、创建 WorkFlow 、 WorkFlow 的调度监控),特别是当出现问题时如何通过监控日志进行排错的能力尤其重要,还有就是通过 Debugger 对 Mapping 进行调试以及一些调优的操作,这些都是一个设计开发工作成功的关键。不过,这就需要在平时的学习和项目中进行积累和掌握了。

 

在这次PowerCenter 的学习过程中,还得到了同事的一些帮助和指导。在此,我感谢谢他们!因为有了他们的帮助,才有了我的进步!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git删除不存在对应远程分支的本地分支

远程分支已经删除,对应的本地分支还存在 # git remote show origin * remote origin Fetch URL: gitgithub.com:xxx/xxx.git Push URL: gitgithub.com:xxx/xxx.git HEAD branch: master Remote branches: master trackedrefs/remotes/origin/b1 stale (use git remo…

Java输入输出流和文件操作

操作系统中的文件和目录概念 文件与文件系统 文件是信息的一种组织形式,是存储在外部存储介质上的具有标志名的一组相关信息集合。 文件系统用文件概念来组织和管理存放在各种介质上的信息。文件系统提供目录机制实现文件的“按名存取”。 目录结构与文件检索 目录是…

C++复习(七)

C++构造函数 当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等。为了解决这个问题,C++提供了构造函数。 构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户调用(用户也不能调用),而是在创建对象时自动执行。构造…

放寒假的硕博研究生将经历什么?

全世界只有3.14 % 的人关注了爆炸吧知识1月中下旬基本全国的高校都放假了,除了部分因为疫情滞留在学校和外地的学生,绝大多数的学生都会回家过年。平时自带学霸光环,可以借口工作学业繁忙,不回家,不用应酬,…

怎么在php登录首页添加样式,首页登录后怎么在首页显示用户名以及隐藏登录框?...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼index.php:登录页面用户名:密码:没有账号?立即注册——————————————————————————doaction.php:header("Content-type:text/html;charsetutf…

.NET 6新特性试用 | HTTP日志记录middleware

前言在以前,通常需要我们自己编写middleware记录HTTP请求和响应。而在.NET 6中默认就有已经实现好的middleware,添加了对HTTP日志记录的支持。Demo要想启用HTTP日志记录middleware十分简单:app.UseHttpLogging();运行程序,发现没有…

C++复习8

C++ this指针详解 this 是C++中的一个关键字,也是一个常量指针,指向当前对象(具体说是当前对象的首地址)。通过 this,可以访问当前对象的成员变量和成员函数。 所谓当前对象,就是正在使用的对象,例如对于stu.say();,stu 就是当前对象,系统正在访问 stu 的成员函数 say…

自动化测试有感

1、 研究自动化测试也有一段时间了,从不熟悉到慢慢的了解,从不会到会,从迷茫到清晰...... 前段时间一直都很疑惑,为什么要自动化,自动化能给我们带来哪些好处?它存在的价值在哪里?运行一个脚本…

iOS 集合的深复制与浅复制

2019独角兽企业重金招聘Python工程师标准>>> 概念 对象拷贝有两种方式:浅复制和深复制。顾名思义,浅复制,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深复制是直接拷贝整个对象内存到另一块内存中。 一图以…

linux实时进程优先级rt,Linux实时性- PREEMPT_RT实时抢占实现

作者:Paul E. McKenney翻译整理:土豆丝624原文链接:概述:本篇文章主要讲Linux的实时包PREEMPT_RT 是如何实现的。PREEMPT_RT 的原理PREEMPT_RT包的关键点是要使非抢占式的内核代码量尽可能的少,同时为了提供抢占性而必…

Adb安装程序出现TimeOut错误

为什么80%的码农都做不了架构师?>>> 安装Apk过程中,出现如下错误: Failed to install on device ‘XXX′: timeout 原因时设备速度太卡,导致启动超时,解决办法:延长超时时间。 方法&#xff…

2021.NET大会日程首发!行程亮点全曝光!

{倒计时4天文末有福利→.NET机器人定制抱枕}2021年12月18日由中国各地技术社区共同发起举办、知名企业和开源组织联合协办的2021年中国.NET开发者大会即将盛大开幕▽2020/12/18-12/19主题:开源共建|开放创新|开发赋能形式:线上直播- 长按二维码免费领票 …

C++9

C++类和new、delete操作符 在C++中,你可以像定义变量一样来创建对象,如: Student stu; //对象已被实例化,已分配内存空间,可以使用了 stu.say(); //调用成员函数 这种情况下,系统会在栈区为对象分配内存。栈区是内存中的一块区域,由系统自动分配和释放,程序员无法操控…

一个技术人的知识管理方法论

http://www.cnblogs.com/me-sa/p/my_methodology.html转载于:https://www.cnblogs.com/liushiyong1/p/3556299.html

继Science发文后,Nature也发文评论曹雪涛“误用图片”调查结果

全世界只有3.14 % 的人关注了爆炸吧知识本文转自:募格学术2021年1月26日傍晚 Nature 网站以头条新闻的方式刊出了题为“著名中国免疫学家没有剽窃和学术造假”的新闻并配以曹雪涛的照片,该新闻大篇幅报道了科技部等多部门对于中国工程院院士曹雪涛的联合…

linux运行.pak文件,使用game-to-flatpak脚本将商业Linux游戏安装程序转换为Flatpak应用程序...

现在有一个新的脚本,它允许你将各种商业Linux游戏的安装程序转换成可以在各种GNU/Linux发行版上运行的Flatpak软件包。这是一个开源的shell脚本,由GNOME开发人员Bastien Nocera开发,它做了一件事,即自动将各种格式的商业Linux游戏…

Log4j 2漏洞(CVE-2021-44228)的快速响应

简介2021 年 12 月 9 日,在Log4j的 GitHub 上公开披露了一个影响多个版本的 Apache Log4j 2 实用程序的高严重性漏洞 CVE-2021-44228、CVSSv3 10.0 (https://logging.apache.org/log4j/2.x) 。该漏洞由阿里云安全团队的陈兆军(可能为音译)发现…

Xcode4.5编译ffmpeg成功,过程说明

最近项目要用音视频的通话,需要用ffmpeg来实现,但是ffmpeg在iOS平台上的编译有些问题。 1 下载代码 1.下载ffmpeg源代码 git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg 参考:http://ffmpeg.org/download.html 2.下载ffmpeg-iphone…

何时使用[self release]

这样的语句 [self release];乍看上去让人很困惑。 从release方法本身的作用上来说,就是给self的引用技术减一,就像release对其他对象所做的一样。一般来说,唯一用到,也是最合适使用 [self release];这一写法的地方是在initXXX方法…