Oracle ODI系列之一(ODI知识模块)

ODI简介

ODI(Oracle Data Integrator)前身是Sunopsis Active Integration Platform,在2006年底被Oracle收购,重新命名为Oracle Data Integrator。主要定位于在ETL和数据集成的场景里使用。ODI和Oracle原来的ETL工具OWB相比有一些显著的特点,比如和OWB一样是ELT架构,但是比OWB支持更多的异构的数据源等等,本系列文章将逐步介绍ODI的一些基本概念。

什么是ODI的知识模块

个人觉得Oracle的Data Integrator里最好最有特点的特征是提出了知识模块的概念(Knowledge Module)。ETL的发展总是从手工编程开始,然后逐渐出现专门的ETL工具,其实我们在项目里所能够遇到的一些场景(如把文件载到数据库,从Mysql数据库抓取数据放到Oracle数据库里,从DB2把数据抓取出来放在Oracle数据库里等)撇开这些数据抽取和转换工作的业务部分,其实总是可以总结为

file->Oracle

Mysql->Oracle

DB2->Oracle

Oracle->DB2

。。。

如果撇开具体的项目不谈,这些都是一些被反复使用的场景,ODI提出了知识模块的概念,把这些场景的详细的实现步骤作为一个一个的知识模块并使用Jython脚本语言结合数据库的SQL语句录制成一步一步的步骤忠实地记录下来,这样就形成了ODI里的100多个知识模块,基本上包含了所有普通应用所涉及到的所有场景。更方便的是,用户既可以直接使用ODI的知识模块完成数据的获取工作,也可以直接在知识模块上面做各种定制,比如某一个业务场景可能并不需要知识模块里的某一个特定的步骤,那就可以直接把该步骤删除掉从而提供更好的性能。当然用户也可以完全自己来开发这些知识模块。

ODI知识模块(Knowledge Module)的分类

ODI的知识模块主要分为几个大类(RKM,CKM,LKM,IKM,SKM),其中最重要的是LKM(load KM)和IKM(Integration KM)RKM:

RKM完成从源系统和目标系统的数据结构的反向工程来形成数据模型的功能。

CKM:CKM完成数据质量检查。

LKM:LKM完成从源数据库数据加载到临时表。

IKM:IKM完成从临时表的数据加载到目标表。

SKM:SKM完成ODI和WEB服务接口的功能。

SKM(Service KM):Web服务知识模块,可以使用该知识模块来生成Web服务调用

ODI认为一个数据的流动包含从源表到临时表,然后从临时表到目标表的过程,而临时表可以放在源上,或者放在目标数据库上,可以自己选择。(当然,通过自己来改动KM也完全可以对这个概念做改动,甚至可以使用一个KM完成所有的工作)。

如下图(临时表放在目标数据库上,然后数据的转换在目标数据库上完成):

如何定制知识模块

这里我们通过分析一个具体的知识模块来看看知识模块的概念。一个项目需要先把项目里用到的知识模块导入进来:双击相应知识模块,就会出现知识模块里的具体步骤:如下图上面显示了一个使用Oracle的dblink技术来完成从一个Oracle数据库里把数据导入临时区的LKM的详细步骤,双击一个步骤则会显示这个步骤完成的具体的命令:上图窗口下方就是完成这个步骤的具体命令,不同的知识模块,不同的步骤,显示的可能不太一样,有些像是SQL语句,有些则象JAVA语言(Jython脚本),然后还会出现一些类似snpRef.getInfo()的函数,关于这些宏变量和函数的具体含义可以从ODI的参考文档里找到,上图的这个步骤最终生成的其实是一个创建dblink的sql命令。每一个知识模块的步骤既可以删除,也可以增加,所以可以非常容易地实现ODI的扩展。通过在一个原有的知识模块上修改形成新的知识模块是最容易的定制方式,另一种方式是完全可以通过Jython这种语言来写知识模块,则是一种更加灵活和复杂的知识模块的定制方式。

分享到:

2008-10-13 18:28

浏览 10066

评论

1 楼

zpple

2009-07-09

正在用,但是已经找不到更合适的文档可以看了。

odi lkm mysql_Oracle ODI系列之一(ODI知识模块)相关推荐

  1. ODI之知识模块(KM)

    Reverse-engineering KM(RKM): RKM的执行过程是,通过ODI API OdiReverseResetTable清空SNP_REV_xx等临时表,再将元数据导入到相应的临时表 ...

  2. 思维导图系列之MySQL知识梳理

    上一系列:思维导图系列之Redis知识梳理 从MySQL的基础.存储引擎.索引.锁.事务.分库分表.性能分析.使用规范及优化方面去罗列主要知识点,以思维导图的方式进行呈现,可以让读者更条理清晰的在最短 ...

  3. 思维导图系列之Redis知识梳理

    从Redis的基础.分布式锁.缓存雪崩.缓存击穿.缓存穿透.持久化.高可用.内存淘汰机制等方面去罗列主要知识点,以思维导图的方式进行呈现,可以让读者更条理清晰的在最短的时间内掌握Redis的主要知识 ...

  4. 【干货】美团大脑系列之商品知识图谱的构建及应用.pdf(附下载链接)

    今天给大家带来美团AI平台搜索与NLP部曹雪智先生所做的分享<美团大脑系列之商品知识图谱的构建及应用.pdf>,关注美团大脑及知识图谱的伙伴们别错过了.本次分享包含如下四大部分: 1.美团 ...

  5. RHEL8.0快速入门系列笔记--理论知识储备(一)

    RHEL8.0快速入门系列笔记–理论知识储备(一) 红帽公司发布Linux8.0系统已经有一段时间,最近准备学习关于RHEL8.0的相关新特性.根据官方介绍:RHEL8.0在云/容器化工作负载方面做了 ...

  6. 经典考题回顾系列——证券市场基础知识180题

    经典考题回顾系列--证券市场基础知识180题 [中华证券学习网]http://www.1000zq.com/Detail.aspx?id=180022 内容介绍>> 证券从业资格考试经典考 ...

  7. 小白学习Flink系列--第一篇(知识图谱)

    小白学习Flink系列–第一篇(知识图谱) 如何学习Flink? ​ 对于一门计算机技术来说,如何快速学习上手呢?具体的逻辑是什么呢?我认为有以下几条 了解技术的应用场景 技术的基本概念,如何使用,以 ...

  8. Python学习系列(六)(模块)

    Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...

  9. 【ABAP系列】SAP ABAP模块-任意report作为附件以邮件形式发送

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP模块-任意rep ...

  10. 小学计算机学科知识与能力,学科知识与能力:计算机基础知识模块知识点分析...

    学科知识与能力:计算机基础知识模块知识点分析来源于浙江教师教育网 中公教师通过对全国教师资格考试考情的分析,总结出全国教师资格考试<信息技术学科知识与能力>计算机基础知识模块的知识点,并提 ...

最新文章

  1. SCCM2012工作组PC安装客户端问题
  2. Orchid兰花协议简介——分布式匿名代理网络
  3. rust(33)-Rust and WebAssembly(1)
  4. 【Luogu1393】动态逆序对(CDQ分治)
  5. oracle ko16mswin949,mysql字符集 - osc_wq7ij8li的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 手机号段对应地区编码_什么是编码器?了解两种类型的编码器
  7. 11.微服务设计 --- 规模化微服务
  8. java中猜字母_Java有大神会写 猜字母游戏
  9. 计算机触摸板设置方法,解决办法:四种关闭笔记本电脑触摸板的方法[图形教程]...
  10. Linux下安装Redis——菜鸟入门教程
  11. 命名时取代基优先顺序_烷烃的系统命名
  12. uniapp , 微信小程序 图片加载时闪烁
  13. 解决error mounted is not defined no-undef
  14. C2039 Error: WriteHuge : is not a member of CFile
  15. 例题5-10 PGA巡回赛的奖金(PGA Tour Prize Money,ACM/ICPC World Finals 1990 UVa207)
  16. 安全修复之Web——Spring Framework 远程代码执行漏洞
  17. 设置java进程名称_如何为Java程序设置进程名称? - java
  18. 四图秒懂BN、LN和IN
  19. JavaScript中作用域详解
  20. 分享一个微信双开的小技巧

热门文章

  1. 低价云 主机虚拟云服务器,低价云 主机虚拟云服务器
  2. A ConneR and the A.R.C. Markland-N
  3. mysql 判断当前星期_MySQL获取星期的函数
  4. 计算机蓝牙功能,笔记本电脑蓝牙在哪里?笔记本怎么打开蓝牙功能Bluetooth
  5. 电脑鼠标右键菜单反应慢怎么办?右键菜单反应慢解决办法
  6. durango服务器维护,Durango狂野大陆连接服务器失败_九游手机游戏
  7. pat计算机程序考试考试时间,pat报名条件
  8. Roaring64Bitmap实践
  9. 监控摄像头角度范围计算方法
  10. BZOJ 2827 千山鸟飞绝 Treap