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这种语言来写知识模块,则是一种更加灵活和复杂的知识模块的定制方式。
分享到:
相关推荐
### Oracle Data Integrator (ODI) 知识模块开发详解 #### 一、ODI概述与背景 Oracle Data Integrator(ODI)是Oracle公司推出的一款高性能数据集成工具,主要功能在于实现不同数据源之间的数据抽取、转换和加载...
与 Oracle 的早期 ETL 工具 OWB(Oracle Warehouse Builder)相比,ODI 具有独特的特点,如支持ELT架构,兼容更多异构数据源,以及其核心概念——知识模块(Knowledge Module,KM)。 知识模块是ODI的核心创新,它...
Oracle Data Integrator(ODI)是一款数据集成平台,由Oracle公司开发,提供了丰富的数据集成功能,包括数据转换、数据抽取、数据加载等,广泛应用于数据仓库和数据整合项目中。该平台支持多种数据源和目标系统,...
在本压缩包"ODI.rar_ODI_site:www.pudn.com"中,包含了一份名为"ODI资料.docx"的文档,我们可以推测这是一份关于ODI技术的详细讲解或总结。 数据库索引技术是数据库管理系统中的关键部分,它的主要目的是为了提高...
在Oracle Data Integrator (ODI) 中,连接到各种数据源是数据集成过程中的关键步骤。ODI 提供了强大的连接能力,支持多种数据源,包括SQL Server, Excel, FILE, 和 MySQL。以下是对这些数据源连接配置的详细说明: ...
根据提供的文件信息,我们可以从标题、描述、标签和部分内容中提炼出关于Oracle Data Integrator(ODI)知识模块开发的详细知识点。由于文件内容可能包括一些OCR扫描错误或遗漏,接下来我会尽可能根据提供的信息来...
"ODI知识模块.doc" 可能包含ODI的基本概念、架构和工作流程,如数据流、映射、接口、知识模块(KM)等。ODI的核心在于KM,它们是预定义的数据转换规则,可以自动化处理数据加载、清洗和转换任务。 "oracledi_getting_...
下面是关于 ODI 部署及使用的详细知识点: 1. ODI 简介 ODI 是一款强大且灵活的数据集成工具,由 Oracle 公司开发。ODI 允许用户在多个异构数据源之间进行数据集成、同步和转换,为企业提供了一个强大的数据集成...
《ODI安装手册-Windows版本》详细解析 Oracle Data Integrator (ODI) 是一个强大的数据集成工具,用于实现高效的数据迁移、数据仓库建设及企业级数据管理。本手册主要针对Windows平台,提供了完整的ODI安装流程,...
Oracle Data Integrator (ODI) 是一款强大的数据集成工具,其中SNPW(Sunopsis Work Repository)是ODI的内部数据库,用于存储设计和操作层面的所有元数据和执行记录。了解SNPW的表结构对于深入理解ODI的工作原理、...
at oracle.odi.core.datasource.support.DefaultDataSourceManager.createAndConfigureDataSourceProvider(Unknown Source) at oracle.odi.core.datasource.support.DefaultDataSourceManager$1.create(Unknown ...
创建主资料库是ODI配置的核心部分。通过程序菜单访问"Repository Management",按照提示输入数据库连接信息,包括Driver、URL、User和Password。选择相应的数据库类型和技术,指定主资料库的语言,然后点击"OK"进行...
工作总结--ODI开发.doc
工作计划总结_ODI开发.doc
总的来说,ODI 的数据抽取操作涉及到从源系统到目标系统的数据迁移,包括数据库的配置、用户权限的设定、知识模块的运用以及数据的验证和转换。通过对这些环节的详细理解和操作,可以有效地实现数据的集成和迁移。在...
在这个名为"ODI LOB知识模块"的压缩包中,重点是关于处理CLOB(Character Large Object)类型数据的知识。CLOB是一种数据库对象,用于存储大量文本数据,如XML文档、长篇报告或任何其他非结构化字符数据。 LKM...
Oracle Data Integrator (ODI) 是一款强大的数据集成工具,它允许用户从各种不同的数据源抽取、转换和加载数据。在本解决方案中,我们将探讨如何将 ODI 集成到 Microsoft SQL Server 2008 数据库环境,特别是在面对 ...
通过"ODI培训"的资料,学习者将能够掌握ODI的基本概念、操作和最佳实践,从而在实际项目中有效应用这个工具,实现高效的数据管理和分析。无论你是数据库管理员、数据工程师还是业务分析师,对ODI的深入了解都将提升...