ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)

2019-03-29 16:40:18  阅读:240  来源: 互联网

标签:Update 接口 ODI ETL SQL Oracle IKM


资料库的创建、体系结构的创建、模型反向工程都已经完成了,下面就是创建以及执行接口来完成工作了。

浏览前两节请点击:

【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)

【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(二)

8. 创建项目及接口

项目包含了开发人员所开发的所有对象,项目包含的元素有接口、过程、包、变量、用户定义函数等。项目创建完毕后,即可在项目下创建接口来实现数据集成。

【设计器】>>【项目】>>【新建项目】

为项目自定义一个名称,保存即可。

项目创建完成后,就要导入知识模块,首先点击项目名称【J_XM_ATOB】前面的加号,展开项目,右键点击【知识模块】>>【导入知识模块】,如下图。

也可以逐个选择需要的知识模块,为简单、安全起见,来点粗暴的,直接全部导入,全选后确定。不过全部导入比较耗时和占空间。导入完成后会弹出一个导入报告对话框,直接关闭之即可。

OK!项目创建完毕,下面即可在已创建的项目中创建接口,实现源系统表数据的抽取,并推送至目标系统表。

【设计器】>>【项目】>>【J_XM_ATOB】>>【第一个文件夹】>>右键【接口】>>【新建接口】

第一步【概览】标签,自定义接口的名称。

第二步【映射】标签,用鼠标分别选中模型区的源系统表【T_USER】和目标系统表【T_EMP】,分别拖至相应的区域。这时,系统会弹出【是否执行自动映射】对话框,点【是】即可。

第三步【快速编辑】标签,展开【映射】栏,鼠标点击【映射表达式】下的编辑框,会出现【启动表达式编辑器】按钮,点击进入。

在【表达式编辑器】左侧源表中拖选与目标表对应的列。确定即可。

按上面的方法,将所有目标列与源列之间的映射表达式编辑完成。如下图。

第四步【流】标签,点击源表缩略图,配置【LKM选择器】,一般情况下,都可选择【LKM SQL to SQL】,LKM 负责将数据从源表装载至临时区域。

第五步【流】标签,点击临时区域缩略图,配置【IKM选择器】, IKM 负责将数据从临时区域装载至目标表。此处为【IKM Oracle Incremental Update】。

附:【IKM选择器】的选择也可参考以下信息:

Oracle—Oracle可以采用IKM Oracle Incremental Update或者IKM SQL Incremental Update

Mysql—Oracle可以采用IKM SQL Incremental Update或者IKM SQL to SQL Incremental Update 

Sqlserver—Oracle可以采用IKM Oracle Incremental Update或者IKM SQL Incremental Update

9. 执行接口

至此,已经基本完成了一个简单的数据集成任务了,可以让ODI执行接口,完成工作了。

【设计器】>>【项目】>>【J_XM_ATOB】>>【第一个文件夹】>>【接口】>>【A.USER_B.EMP】,选中接口名称,直接点击工具栏上的执行按钮即可。

我们没有使用代理,这里直接【确定】即可。

OK!执行完成,可以打开会话,查看执行过程,如果接口执行出错,也可在这里看到出现错误的步骤,查找错误原因。

OK!没问题,接口成功执行后,即可在ODI中查看数据,

【设计器】>>【模型】>>【J_MX_TAG】>>右键【T_EMP】>>【查看数据】

 

也可以查看一下系统数据库原始数据,可以看A 系统T_USER表中的数据已经同步到B系统T_EMP表中。

源系统A数据库中的表T_USER

目标系统B数据库中的表T_EMP

 

---------- END----------

欢迎微信扫描下方的二维码,关注微信公众号,共同学习、分享。

 

标签:Update,接口,ODI,ETL,SQL,Oracle,IKM
来源: https://www.cnblogs.com/nnzhang/p/10619711.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有