快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰集团官网_龟发之家论坛



甲骨文公司有很多功能强大年夜但受关注程度较低的产品,Warehouse Builder(简称OWB)便是此中之一。就像甲骨文旗下其他的几个非关系数据库治理系统产品一样,OWB刚开始的版本用起来都让人感到很不顺手,例如用户界面不敷友好,常常呈现差错,不易于安装和应用等等。不过,在近来的几个版本,OWB已经徐徐完善,成为一款高机能多功能的利用软件,让用户能够得到超凡的体验。

本文将和大年夜家一路探究若何用OWB构建一个自动化的ETL处置惩罚历程。在假设你已经安装了OWB的条件下,下面会图文并茂慢慢为大年夜家解说构建的历程。

背景常识

Oracle Warehouse Builder,常简称为OWB,能够将无款式布局的平面文件(flat file)加载到数据库的历程自动化。许多半据库治理员对SQL*Loader对象和shell脚本的混杂应用异常认识,再加上在各个不合的地方进行一些cron设置设置设备摆设摆设就可以完成数据加载的澳门新葡亰集团官网历程。OWB也能够完成这样的义务(而且还有更多的功能),经由过程供给一个领导驱动兼备大年夜量断点和不雅查点提示及点击功能的图形用户界面来完成这一历程。经由过程其“设计中间”和“节制中间”界面,用户可以设计并支配ETL历程(本文重点关注此中的加载历程,也便是将分隔数值的平面文件内容加载到一个表,而且在加载的历程中数据不发生改变)。此外,ETL的支配不局限于澳门新葡亰集团官网你当前正在事情的办事器,OWB让你能够在一台办事器上设计ETL历程,然后将设计的步骤支配到另一台办事器上,假如你想要,还可以支配到更多的办事器上。

这个操作背后的全部法度榜样是如何一个观点呢?我们来看看要完成全部操作必要进行的步骤,大概能够帮你理清大年夜概的框架:

1. 指定源文件,包括文件所在位置及其性子。

2. 创建一个外部表,作为数据字典的存储器。

3. 确认数据库中“真实”表,如有必要创建该表。

4. 在有计划的根基长进行全部历程,或一次性完成全部处置惩罚历程。

OWB对这个历程的处置惩罚措施是使用与这些工具相关的元数据(metadata),经由过程设计映射和进程流(也称为历程流)来绑定他们。事实上,可以将进程流作为一个可视化假象进行创建,也便是说,OWB实际所应用的事情流只是OWB天生的一个进程流模式图,不过这个模式图足以算作事情流来应用。

把这个历程的每一部分都算作一个工具来斟酌:文件、文件的位置、外部表、真实表、将flat文件映射到外部表的历程、着末运行的功课等等。所有的这些都是工具,而这些工具都可以经由过程层级和依附性将这些工具绑定起来。每个工具类型都存在一个模块傍边。因为这个对象是基于Java说话的,以是面向工具的设计是可行的。一样平常来说,每个工具都是一个实例或者是经由过程某种措施实例化的工具。

历程

一个范例的ETL历程模式包括在轮回的根基上加载一个平面文件(你也可以只履行此中的映射部分)。假如你将该历程分化为涉及项目树不合部分的多少步骤,那么就很轻易搞清楚全部义务了。一个项目的开始,首先必要在Oracle下创建一个一个模块。提示大年夜家,要记着险些每一个种别都涉及到相同的两个步骤:创建模块和导入元数据。而且抽样并不老是基于同一个表。

下图显示了一个展开的项目树:

498)this.style.width=498;'src="http://www.51cto.com/files/uploadimg/20080516/1111370.jpg">

图一

按照我们想要构建ETL历程的步骤,在项目树里涉及到的项目领域是:

◆文件(Files)

◆外部表(External Tables)

◆表(Tables)

◆映射(Mappings)

一旦完成映射的步骤,你就必要下拉到进程流(Process Flows)和调整(Schedules)

在计划浏览器面板的“文件(Files)”项眼前目今创建一个新模块,指定命据源文件的位置,如下图所示:

498)this.style.width=498;'src="http://www.51cto.com/files/uploadimg/20080516/1111371.jpg">

图二

完成“创建模块”步骤并进入到“导入元数据领导”。这里你假如奉告OWB必要加载的内容是平面文件时,就会启动“平面文件抽样领导”,完成平面文件布局的定义。记着要给日期字段添加日期款式。当指定平面文件并对其抽样后,就可以筹备创建关澳门新葡亰集团官网于外部表的元数据了。“平面文件抽样领导”的第一个步骤如下图所示:

498)this.style.width=498;'src="http://www.51cto.com/files/uploadimg/20080516/1111372.jpg">

图三

当要确定字段分隔符时,你除了可以从下拉表中选择领导所供给的分隔符之外,还可以手动输入其他的分隔符。一旦完成了外部表定义,你就可以顿时支配外部表,并在目标架构中创建该表。

下一步,我们就要创建表了。假如要从头开初创建表,就打开“数据工具澳门新葡亰集团官网编辑器”进行表的设计。确保列定义和外部表响应的列定义相匹配。最好首先支配外部表,然后在SQL*Plus中经由过程CTAS从外部表(只是表定义,并非数据)创建表。

接下来的步骤便是将外部表的内容映射到真实表。创建一个新映澳门新葡亰集团官网射,并如下图所示映射相关列。

498)this.style.width=498;'src="http://www.51cto.com/files/uploadimg/20080516/1111373.jpg">

图四

支配该映射,假如支配成功的话,这时刻你就可以手动运行(开始)从外部表将数据加载到真实表。经由过程进入“节制中间”可以核实并查看该历程的运行,如下图所示。

498)this.style.width=498;'src="http://www.51cto.com/files/uploadimg/20080516/1111374.jpg">

图五

假如想要将这个进程流自动化进行,就必要创建一个新的“进程模块”。创建进程流模块、法度榜样包和进程流,然落后入到“进程编辑器”。添加映射操作,履行结果如下图所示:

498)this.style.width=498;'src="http://www.51cto.com/files/uploadimg/20080516/1111375.jpg">

图六

一旦完成了进程流模式图,我们就可以创建一个新的调整,调整该当是通用的,也便是说不能与任何器械绑定。你必须要回到映射步骤,将映射与调整关联起来。一旦支配了调整,那么就可以将上述的平面文件加载历程自动化了。

总结

虽然本文只是对若何将一个加载历程自动化问题的概述,不过此中涵盖了完成这项义务所必要办理的每一个项目内容。对付一次性文件,以致对付天天都要导入导出的相同文件或文件集,可能应用shell脚原先编辑这个事情流并经由过程cron功课来调整显得加倍轻易些。但从另一方面来讲,一旦设置好全部进程,我们就可以将其支配到开拓情况、测试情况,以致临盆情况傍边。别的,不要被这个对象名称中的“warehouse”所误导,觉得这只适用于数据仓库。假如你必要在一个不合类型的数据库中映射、设计和调整ETL加载历程,OWB也可以相称漂亮地完成义务。

相关文章

BI厂商加码ETL对象替商业智能奠基

主流数据仓库产品比较阐发

BI项目中ETL设计与思虑

您可能还会对下面的文章感兴趣: