[计算机软件及应用]informaticapowercenterdesigner快速上手
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Informatica 快速上手
安装以及服务端配置那部分就不写了,直接从客户端使用开始。
本人使用的是informatica 8.6,xp系统,oracle 11g数据库
首先打开PowerCenter Repository Manager
然后点击菜单栏中的第一项:Repository选择Configure Domains 弹出窗口
点击红圈的按钮,添加新的domains,弹出小窗
按照服务端设定的内容填写,然后点击OK
会出现你刚刚新添加的domains,然后右边选择你需要的资料库,勾上。
回到主界面
左边的Repository Navigator里面已经有资料库了,双击你需要的那个数据库,出现弹窗
这里填入你服务端里面设置的用户名密码,一般有默认的Administrator,密码也是Administrator,且权限最高,其他用户需要他赋予权限才能使用powercenter内容,所以这里直接使用Administrator用户,点击connect登录。
登陆后,进入资料库
资料库里面是按文件夹存储的
点击菜单栏中的Folder——create,来创建新的文件夹,跳出弹窗
把Name改一下,这里是做入门上手练习,所以取名Practise
然后点击确定,这时,资料库中会多出Practise文件夹,我们选中,然后点击工具栏中的D图标,进入PowerCenter Designer
因为选中了Practise,所以进入PowerCenter Designer之后,会直接打开此文件夹,然后就能进行入门练习了。
但之前我们还有一步要做,就是导入表。
导入练习所需要的表,sql脚本在客户端bin文件夹内
smpl_db2.sql
smpl_inf.sql
smpl_ms.sql
smpl_ora.sql
smpl_syb.sql
smpl_tera.sql
以oracle为例,执行脚本smpl_ora.sql,但是因为脚本使用的是us时间制,所以先改变数据库会话的时间格式:
alter session set nls_language=American;
alter session set nls_date_format = 'DD-MON-YYYY';
然后执行脚本,如果有什么限制的,请赋给用户dba权限之后,再执行脚本,之后就能开始练习了。
首先接着刚刚的,确认Practise文件夹是打开状态,打开的时候是加粗的字体,如果不是,右键文件夹,选择open,打开。
首先我们要导入源表,点击菜单栏中的Tools-Source Analyzer
或者点击工具栏中的按钮
进入源表工作界面
然点击菜单栏中Sources-Import from Datebase
随后跳出弹窗
点击红圈中的按钮,又跳出ODBC数据源管理器
点击添加,跳出弹窗,选择相对应的数据源驱动程序
点击完成,跳出弹窗,填写连接数据库内容,以oracle为例
其中,Data Source Name为展示出来给用户选择的名字,TNS Service Name选择你的oracle服务名,User ID 填入刚刚执行sql脚本的用户名,然后点击Test Connection进行测试,测试成功后ok返回即可。
返回Import Tables弹窗,ODBC data source选择为刚刚配置的即可,然后输入Username Password点击Connect
选择以下表: CUSTOMERS、DEPARTMENT、DISTRIBUTORS、EMPLOYEES、ITEMS、ITEMS_IN_PROMOTIONS、JOBS、MANUFACTURERS、ORDERS、ORDER_ITEMS、PROMOTIONS、
STORES,点击ok
注:按着Ctrl进行多选,或者按着Shift进行连续表的选择
然后能够在工作界面看见导入的源表,左方的导航中,Sources中会以ODBC名分类导入的源表。
源表导入之后,进行目标表创建或者选择
点击菜单栏中的Tools-Target Designer
或者点击工具栏中的按钮,进入目标表工作界面。
选中左边Scource中Employees,拖拽入右边的工作界面,使用与源表结构相同的表为目标表。
双击工作界面中的Employees目标,跳出弹窗
点击Rename,改为T_EMPLOYEES。
选择选项卡中Columns的选项
删除JOB_ID 、ADDRESS1、ADDRESS2、CITY 、STATE 、POSTAL_CODE 、HOME_PHONE 、EMAIL 几列,点击确定
选中empoyees ,然后点击菜单栏中
Targets-Generate/Execute SQL
新建列 复制列
剪切列,同时充当删除用
粘帖列
选择列
跳出弹窗
勾上Generation options中所有选项
点击connect,选择需要的数据源,点击ok
再点击Generate and execute
如出现询问是否要覆盖时,点击确定。
如果想保存sql脚本,请取消,Filename 选择为你需要的之后,再执行。
这样数据库中就生成了目标表。
然后创建映射
点击菜单栏中Mapping Designer
或者点击工具栏中的按钮,进入映射工作界面。
从左侧导航中的Sources拖拽Employees至右边的工作台,会跳出弹窗,建立新
的mapping
或者点击菜单栏中Mappings中的create创建mapping,再拖入Employees
输入名字为m_PhoneList,点击OK
Mapping工作台中会出现源表(绿色)以及源限定组件(黄色)拖动左侧导航中Targets中的T_Employees至工作台中
然后在工作台空闲位置点击右键,选择Autolink
跳出弹窗
From Transformation选择SQ_EMPLOYEES To Transformation 选择T_EMPLOYEES
点击ok
源限定组件就和目标表组件中一一对应连接起来了
然后右键空闲处,选择Arrange All(Iconic),上一个是展开排列,下一个是图标排列,请按需选择
然后保存(Ctrl+s)或点击菜单栏中Repository中的Save项
然后点击工具栏中的W按钮,进入PowerCenter Workflow Manager
确认Practise文件夹是打开状态(加粗),点击菜单栏中Connections-Relational按钮,配置数据库信息
跳出弹窗
点击New
选择需要的数据库类型,这边选择oracle,点击ok 跳出弹窗
Name为将来选择时的名字
User Name是源表数据库/目标表数据库用户名(如果源表目标表在不同数据库,需要配置多个连接,如果是同一个,只需配置一个)
Connect String是数据库连接字符串,需在Net Configuration Assistant中配置本地Net服务名配置。
点击ok后,然后返回至工作界面,选择菜单栏中Tools-Workflow Designer或者工具栏中按钮
进入workflow工作台
点击菜单栏中workflows-wizard
进入wordflow创建导航
Name输入为wf_PhoneList,点击下一步,选择左边需要的mapping,m_PhoneList,然后双击,右边会生成对应的Session,点击下一步
这是设定工作时间循环什么的,先不去管它,点击下一步
点击完成
此时,工作台中会出现两个东西,一个是箭头Start,一个是Session会话s_m_PhoneList,并且有线连接,双击s_m_PhoneList跳出弹窗
选择选项卡中的Mapping,选择SQ_EMPLOYEES,然后把右侧的Relational改为之前配置的数据库名字,可以点击右边的箭头选择
之后点击T_EMPLOYEES,同样选择Relational,改为目标表所在的数据库,通过这样,Informatica可以执行跨数据库任务。
在T_Employees的Properties中,Target load type 选为normal (否则为批量处理,速度快,但不能插入有主键的表),Truncate target table option改为选中状态
点击确定,返回工作台,保存Ctrl+s
点击工具栏中的按钮
或者右键工作台空闲区域,选择Start Workflow
然后自动进入PowerCenter Workflow Monitor,如没自动进入,请点击工具栏M按钮
点击资料库,输入用户名密码,点击进入Practise文件夹,找到wf_PhoneList,右键,open latest 20 runs(系统有时会自动完成以上步骤)
然后查看任务完成情况,succeeded为成功,如果不成功,右键session,选择get session log,查看日志
成功后,查看下方properties窗口,里面有任务执行结果的信息,12条插入
然后返回PowerCenter Designer
右键目标表T_Employees,选择Preview Data,可以查看数据库中的数据
至此,完成了第一个小练习,接下来,我们来做一下PowerCenter Designer中
各个转换组件的练习。
首先打开PowerCenter Designer,连接资料库,打开Practise文件夹进入目标工作台Target Designer,右键选择Clear All,清空
从左侧导航中Sources拖拽MANUFACTURERS至目标工作台
双击,Rename为T_ITEM_SUMMAR点击Columns
更改MANUFACTURER_NAME列精度72,请客非空选项添加新列
MAX_PRICE
MIN_PIRCE
AVG_PRICE
AVG_PROFIT
数据类型为数字型,精度15,标度2
点击确定,点击菜单栏Targets-Generate/Execute SQL,在数据库中生成表。
创建新映射,m_ItemSummary
分别从源和目标表中拖拽ITEMS和T_ITEM_SUMMAR到mapping工作台中
然后创建一个聚合组件,点击工具栏中按钮
在工作台中画出一个聚合组件,然后双击rename。
或者点击菜单栏Transformation-Create
跳出弹窗
选择聚会组件,并命名,之后点击create
点击Done完成。
点击工具栏中的copy columns按钮
将ITEMS中的PRICE以及T_ITEM_SUMMAR中的MANUFACTURER_ID拖拽入聚合组件中双击,进入组件,点击ports选项卡
把PRICE的I选项选上,去除O选项
MANUFACTURER_ID的IO选项同时选上,另外把MANUFACTURER_ID的Group By也选上。
然后新增三列
名称数据类型精度标度I O V
OUT_MIN_PRICE Decimal 19 2 否是否
OUT_MAX_PRICE Decimal 19 2 否是否
OUT_AVG_PRICE Decimal 19 2 否是否
选择OUT_MAX_PRICE的Expression,点击右边的小箭头,进行表达式编写
跳出表达式编写窗口
在右边的公式栏中,输入MAX(PRICE),点击Validate,进行验证
验证成功后,点击ok,返回
继续编写OUT_MIN_PRICE和OUT_AVG_PRICE
公式分别为MIN(PRICE)和AVG(PRICE)
点击确定,返回工作台
创建表达式转换组件(创建方式和上一个类似)
取名EXP_AvgProfit
双击打开表达式组件,选择ports选项卡,新建两列
IN_AVG_PRICE decimal 19 2 i
OUT_AVG_PROFIT decimal 19 2 o
OUT_AVG_PROFIT的表达式为IN_AVG_PRICE*0.2
点击确定
工具栏中,选择Link Columns按钮
拖拽SQ_ITEMS中的PRICE和MANUFACTURER_ID至AGG_PriceCalculations中的PRICE和MANUFACTURER_ID
把AGG_PriceCalculations中的OUT_AVG_PRICE拖拽至EXP_AvgProfit中的IN_AVG_PRICE
创建查询组件
创建此组件会跳出弹窗
选择Source中的MANUFACTURERS,点击OK
返回工作台,双击查询组件,rename为LKP_Manufacturers
选择ports选项卡,复制MANUFACTURER_ID,然后粘帖
改名字为IN_MANUFACTURER_ID,添加I选项,取消O
然后点击选项卡中Condition选项
新建一个Condition,条件是MANUFACTURER_ID=IN_MANUFACTURER_ID
然后点击确定,返回工作台。
拖拽AGG_PriceCalculations中的MANUFACTURER_ID至LKP_Manufacturers中的IN_MANUFACTURER_ID。
然后拖拽IN_MANUFACTURER_ID中的
OUT_MAX_PRICE,OUT_MIN_PRICE,OUT_AVG_PRICE
至目标表T_ITEM_SUMMAR中的
MAX_PRICE,MIN_PRICE,AVG_PRICE
拖拽EXP_AvgProfit中的OUT_AVG_PROFIT
至目标表T_ITEM_SUMMAR中的AVG_PROFIT
拖拽LKP_Manufacturers中的MANUFACTURER_ID以及MANUFACTURER_NAME
至目标表T_ITEM_SUMMAR中的MANUFACTURER_ID以及MANUFACTURER_NAME
然后保存Ctrl+s,如果无错误,输出台输出xxxxx is VALID,验证通过
然后进入PowerCenter Workflow Manager中
打开Practise文件夹
选择菜单栏中Tools-Task Developer
或者工具栏中的按钮
然后点击工具栏中Task排按钮,创建session
或者点击菜单栏中Tasks-Create
Session取名为s_m_ItemSummary,选择mappings为m_ItemSummary
点击ok
双击session任务,编辑session中的Mapping选项
把SQ_ITEMS和T_ITEM_SUMMAR的relational的设置为对应数据连接
T_ITEM_SUMMAR的Target load type 选为normal
Truncate target table option选上
点击LKP_Manfacturers,把Relational设置为对应的数据库(或者填入$Source,选择properties选项卡,修改$Source connection value,填入需要的值)
点击确定,返回工作台,保存
然后点击进入workflow designer
创建新workflow,点击菜单栏中workflows-create
或者直接拖拽左侧导航中session中的s_m_ItemSummary至工作台(确保工作台无打开的workflow,如有打开,请先关闭菜单栏workflow-close)
以上两种方式均会跳出弹窗,这里采用第一种
Name为wf_ItemSummary,点击确定
创建一个没有Task的workflow,只有一个箭头,然后从左侧导航中,拖拽session 中的s_m_ItemSummary至工作台
此时箭头和session之间没有连线,点击工具栏中的连接按钮
从箭头start连接至session
然后点击右键Arrange-Horizontal
保存Ctrl+s
执行workflow
最后结果11行插入
继续组件练习
打开PowerCenter Designer,连接资料库,打开Practise文件夹
进入Target Designer工作台,右键,Clear All
创建F_PROMO_ITEMS,D_ITEMS,D_PROMOTIONS,D_MANUFACTURERS 四个表没有Money类型的数据库,请用number(15,2)或者decimal(15,2)类型创建F_PROMO_ITEMS时,先别创建外键创建完所有表后,拖拽即可。
F_PROMO_ITEMS
列数据类型精度非空值键PROMO_ITEM_ID Integer 不适用非空值主键FK_ITEM_ID Integer 不适用外键
FK_PROMOTION_ID Integer 不适用外键FK_MANUFACTURER_ID Integer 不适用外键NUMBER_ORDERED Integer 不适用
DISCOUNT Money 默认值
COMMENTS Varchar 默认值
D_ITEMS
列数据类型精度非空值键
ITEM_ID Integer 不适用非空值主键
ITEM_NAME Varchar 72
PRICE Money 默认值
D_PROMOTIONS
列数据类型精度非空值键
PROMOTION_ID Integer 不适用非空值主键PROMOTION_NAME Varchar 72
DESCRIPTION Varchar 默认值
START_DATE Datetime 默认值
END_DATE Datetime 默认值
D_MANUFACTURERS
列数据类型精度非空值键MANUFACTURER_ID Integer 不适用非空值主键MANUFACTURER_NAME Varchar 72
然后确认是在Link Columns状态下,拖拽F_PROMO_ITEMS表的FK_ITEM_ID, FK_PROMOTION_ID,FK_MANUFACTURER_ID分别至D_ITEMS的ITEM_ID,D_PROMOTIONS的PROMOTION_ID,D_MANUFACTURERS的MANUFACTURER_ID上,自动生成外键。
注意拖拽方向!!!
然后右键Select All,点击菜单栏Targets-Generate/Execute SQL
执行Generate and Execute。
切换至Mapping Designer工作台,新建名为m_PromoItems的映射
添加源表
PROMOTIONS、ITEM_IN_PROMOTIONS、ITEMS、MANUFACTURERS、ORDER_ITEMS
然后删除所有源限定组件(黄色)
然后创建源限定组件
或者菜单栏中Transformation-Create
取名为SQ_ALLData
创建源限定组件,会跳槽弹窗要求选择源表
选择所有的,然后点击OK
然后添加目标表F_PROMO_ITEMS,D_ITEMS,D_PROMOTIONS,D_MANUFACTURERS至映射
创建过滤组件
命名为FIL_CurrentItems
从源限定组件SQ_ALLData中,拖拽并连接
ITEM_ID,ITEM_NAME,PRICE,DISCONTINUED_FLAG
至过滤器
双击过滤器,点击Properties选项卡,点击Filter Condition选项value右边的小箭头,进入表达式编辑框,输入DISCONTINUED_FLAG=0
验证后点击Ok,再点击确定返回工作台
将过滤器组件FIL_CurrentItems与D_ITEMS表名字对应的连接
保存
创建序列生成器组件
取名SEQ_PromoItemID,你不需要进行任何设置。
将SEQ_PromoItemID的NEXTVAL连接至F_PROMO_ITEMS 的 PROMO_ITEM_ID 列。