ETL全量及增量总结_第1页
ETL全量及增量总结_第2页
ETL全量及增量总结_第3页
ETL全量及增量总结_第4页
ETL全量及增量总结_第5页
已阅读5页,还剩6页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

InformaticaPowerCenter8.6全量与增量总结ζ太阳团队ξ文档变更记录版本编号变更人变更日期备注V1.0郭鹏飞2014-5-27目录ETL全量与增量3设置Oracle连接3设置时间变量3ETL全量4整个过程预览42创立一个Mapping43源与目标的导入5导入源5导入目标表64组建Mapping7翻开源节点7插入“表达式组件〞7添加字段7添加字段或修改字段类型8添加目标表8添加删除条件9连接目标表9ETL增量10整个过程预览10组建Mapping10添加LookupTransformation11时间戳的定义11Epressiontransformation设置12添加UpdateStrategyTransformation12测试14考前须知全量16全量16考前须知增量17ETL全量与增量设置Oracle连接在\oracle\product\10.2.0\db_1\network\ADMIN路径下,双击文件,对oracle连接进展配置。例如:ods=(DESCRIPTION=(FAILOVER=yes)(ADDRESS=(PROTOCOL=TCP)(HOST=10.100.20.11)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.100.20.13)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=cedb)))这个是ODS的连接地址。设置时间变量点击Mapping,选择,在点击。ETL全量ETL全量,即将源库里的数据全部导进目标库,其重要注意的是,可能要添加'ETL_DATE'这个字段。整个过程预览2创立一个Mapping〔1〕单击Mapping,点击create…这个是给Mapping起名字,起名规则:M_目标表说明。例如:M_ODS_CE_BORROW_CONTRACT〔2〕单击Mapping,点击Edit…可以修改Mapping名,修改完成之后点击OK3源与目标的导入导入源〔SourceAnalyzer〕点击这个按钮在工具栏点击Sources这个按钮点击ImportfromDatebase…点击…〔如果已有ODBCdatasource,则直点击进展选择〕点击添加,选择Oraclein….(如果要是MySQL的源就选择上面的MySQLODBC…)这里是数据库配置的名字这里是源文件夹中的名字这里是数据库配置的名字这里是源文件夹中的名字完成后点击OK。输入用户、密码点击Connect即可(注:我的ODBCdatasource:ODS(OraDb10g_home2)是我自己配置的,一般的是ODS(OraDb10g_home1))当其显示Re-connect时,表示连接上了源数据库。展开这两个节点,单击所需要的源表,点击OK即可。导入目标表〔TargetDesigner〕点击这个按钮其他的步骤与导入源一直,可参考上边的文档。4组建Mapping〔MappingDesigner〕点击这个按钮翻开源节点选择这个节点并翻开。选择你的源表,点击右键,选择Open.这样源表就会在右边的Designer界面显示了。插入“表达式组件〞点击F(*)组件,在右侧Designer界面在单击一下。添加字段将源中的字段全选,拖入表达式组件中。添加字段或修改字段类型有的目标表可能比源表多了一个'ETL_DATE',这时候需要我们在Mapping过程的‘E*pressionTransformation’这个组件,添加一列,命名为'ETL_DATE',字段类型为'date/time'且只输出〔O〕,在后面条件框里边输入'TO_DATE($$today,'yyyy-mm-ddhh24:mi:ss')'注:$$today是在Mapping中自己定义的时间变量!有的源表与目标表的字段类型不一样,这时候需要我们在Mapping过程的‘E*pressionTransformation’这个组件中转换一下字段类型。例如:源表中的ahead_time的字段类型是nstring型,而目标中字段类型为'date/time',这时我们需要转换。双击表达式组件,选择Ports页,点击选中ahead_time行,单击复制在点击粘贴单击按钮,在弹出来的对话框写入to_date(ahead_time,'yyyy-mm-ddhh24:mi:ss')输入完成后点击Validate,显示…successfully后即转换成功,点击确定->OK->确定即设置成功。添加目标表翻开Targets节点,选择目标表。右键->Open,这时右边的Designer界面就会显示目标表。添加删除条件这里'Truncate去除表中数据'是指去除目标表中的数据,这样从源表过来的数据就不会有重复。双击目标表,选择Properties页,在PreSQL中添加.Truncatetable+目标表表名。连接目标表首先单击表达式组件在菜单栏选择Layout在单击,此时会弹出一个界面。选中目标表,选择Name,点击OK,这样表达式组件就与目标表连接起来了。ETL增量ETL增量,即将源库里的数据更新到目标库中,用Update实现,更新掉原有的旧数据,添加原来没有的新数据。整个过程预览组建Mapping导入源、目标表、表达式组件与全量的过程是一样的,在这里就不详细讲解了。添加LookupTransformation添加一个LookupTransformation,选择目标表,删除除%ID%以外的列,并且添加一个列%ID1%,并且只为输入〔I〕.在Condition中添加一个条件%ID%=%ID1%.时间戳的定义时间戳的定义,即在做更新时,利用Creat_time和Lastupdate或者operate_time作为条件(三者选其一或者其二都可以),来筛选数据。在SQ中Properties的SourceFilterz中添加条件,具体如下:双击(TO_DATE(create_date,'yyyy-mm-ddhh24:mi:ss')>=TO_DATE('$$start_date','yyyy-mm-ddhh24:mi:ss')andTO_DATE(create_date,'yyyy-mm-ddhh24:mi:ss')<=TO_DATE('$$end_date','yyyy-mm-ddhh24:mi:ss'))or(TO_DATE(OPER_DATE,'yyyy-mm-ddhh24:mi:ss')>=TO_DATE('$$start_date','yyyy-mm-ddhh24:mi:ss')andTO_DATE(OPER_DATE,'yyyy-mm-ddhh24:mi:ss')<=TO_DATE('$$end_date','yyyy-mm-ddhh24:mi:ss'))注:这里边$$today,$$start_date,$$end_date是在Mapping里边自己定义的。Epressiontransformation设置创立一个Epressiontransformation组件,将SQ里的列全部拖到Epr里边,在添加一个%ID1%字段,添加条件':LKP.LKPTRANS(%ID%)'且只为输出〔o〕.添加UpdateStrategyTransformation添加UpdateStrategyTransformation组件,将Epr中的字段全部拖进来,在Properties的UpdateStrategyEpression中添加条件,条件如下:iif(isnulL(%ID1%),DD_INSERT,DD_UPDATE),这个是之前的LookupTransformation的条件。双击测试1.点击,进入WorkflowManager。2.再右侧里边选择创立Mapping的文件夹。3.创立一个Session,点击Tools4.选择WorkflowDesigner5.点击6.点击Create…7.会弹出来这个对话框,这个名字可以自己随便起一个,但是前缀要是WF_,然后点击OK。8.在工具栏点击这个组件,在下边的WorkflowDesigner界面,点击左键。9.选择自己的Mapping,点击OK。10.点击这个按钮将他俩连上。11.配置Session双击,,选择Mapping页这三个是都要设置的(在全量Mapping中没有LKPTRANS)。将选择成自己数据库所对应的连接。选择完成之后点击确定。11.添加数据进展测试(1)全量测试:在源的数据库里边添加多条字段〔在PL/SQL中进展操作〕然后点击选择,之后就开场跑数据展开节点选择自己的工作流。查看是否成功。同时查看一下目标表里边是否增加了刚刚添加的字段。(2)增量测试:增量测试的步骤与全量差不多,只是增量添加、更新都有(要在时间戳围添加、更新),同时在源表中添加、更新多条字段。之后运行Mapping,查看目标表中是否添加、更新字段。考前须知全量全量如果是从别的库抽到ODS库,则我们需要在表达式组件中设置ETL_DATE:TO_DATE($$TODAY,’YYYY-MM-DDHH24:MI:SS’)如果有时间变量〔$$today〕,是否mapping中设置了时间变量。设置时间变量时间变量的设施方法时间变量的设施方法点击Mapping,选择,在点击。在mapping中是否‘truncatetbale’目标表下的在建立session时,首先看workflow中是否有调用时间参数的文件。$PMTargetFileDir\ParamDay.t*t〔时间参数文件〕在session中查看target中Targetloadtype:是否为Normal如果只是修改已有的全量mapping,在session里target中要注意以具体情况勾选这一项!考前须知增量Lookup组件中设置:时间戳的设定:(TO_DATE(create_date,'yyyy-mm-ddhh24:mi:ss')>=TO_DATE('$$start_date','yyyy-mm-ddhh24:mi:ss')AndTO_DATE(create_date,'yyyy-mm-ddhh24:mi:ss')<=TO_DATE('$$end_date','yyyy-mm-ddhh24:mi:ss'))or(TO_DATE(OPER_DATE,'yyyy-mm-ddhh24:mi:ss')>=TO_DATE('$$start_date','yyyy-mm-ddhh24:mi:ss')AndTO_DATE(OPER_DATE,'yyyy-mm-ddhh24:mi:ss')<=TO_DATE('$$end_date','yyyy-mm-ddhh24:mi:ss'))设定时间参数:参考上文参考上文的时间变量设置方法。参考上文的时间变量设置方法。如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论