现在的位置: 首页 > 综合 > 正文

Oracle Warehouse Builder 11g 教程 Part1-Part5

2013年09月06日 ⁄ 综合 ⁄ 共 14663字 ⁄ 字号 评论关闭

http://www.gemini5201314.net/category/etl/page/2

Oracle Warehouse Builder 11g 教程 Part 5

2008年7月27日

本系列教程翻译自OTN官方文档,为OWB的系列教程,全教程共12篇文章,我只介绍启中5篇,主要是想通过此教程向大家介绍OWB工具的的基本使用方法和数据仓库建模方法,由于水品有限,只能大体上保证翻译的通顺,如有任何不足之处请参考官方OTN文档.,文中很多英文词汇未翻译主要是为了配合截图

这系列文章也同时发表在itpub 上:

http://tech.it168.com/d/2007-12-28/200712271916501.shtml

http://tech.it168.com/d/2008-02-15/200802141542372.shtml

http://tech.it168.com/d/2008-02-27/200802271433072.shtml

转载注明出处 http://www.gemini5201314.net

原教程索引: http://www.oracle.com/technology/obe/11gr1_owb/index.htm

原教程列表如下:

1. Starting::

1 Starting with Oracle Warehouse Builder 11g Release 1 1

2 Working with Flat File Transactional Data

3 Designing the Relational Target Warehouse 5

4 Designing ETL Data Flow Mappings

5 Deploying Objects in the Target Warehouse

6 Loading the Target Warehouse

2. Extending:

1 Setting Up the Oracle Warehouse Builder Project 2

2 Examining Source Data Using Data Profiling 4

3 Matching and Merging Records

4 Extracting, Transforming and Loading Data 3

5 Modeling the Target Schema

6 Using Experts to Automate Warehouse Builder Tasks

只翻译其中5章,顺序如列表所示,本文所有图片来至OTN.,部分专业词汇尽量附上原英文单词.对于与程序有关的词汇尽量不翻译并给出原英文单词.,一些截图中的按钮部分单词也尽量是原文。

设计关系型目标数据库

http://www.gemini5201314.net

目的

用Oracle Warehouse Builder 来设计关系型数据库(从3范式到维度)模式可以让你的数据仓库发挥最大作用,同样的,你可以设计一个多维数据库来提供更高要求的分析需要。

在这节课中,你会建立一个小型的立方体包含两个维,这个数据仓库的原数据是文本文件

注意:这节课中的脚本只在OWB11g中有效。

主题

这节课包含如下主题

总览

先决条件

定义一个目标数据仓库模块 (略过)

创建一个外部表 (略过)

设计一个维

设计一个立方体

总结

总览

OWB 提供高级的关系型和维度型建模能力,它让你定义关系型对象比如表,试图,物化视图,序列,外部表,和维度目标对象比如维度和立方体。

OWB 把维度的设计和实现直接分开,对于维度对象你可以只点击一个按钮来选择一个关系型实现或一个多维的实现方式,因此,同样的维度对象可以是现成一个关系型数据仓库或者一个多维数据仓库(在OLAP中实现)。

在这节课中,你将设计一个维度模型来实现一个关系型目标数据仓库,对于关系型建模,OWB 同时支持设计和实现 星型模型和雪花模型

你同时会设计实现一个简单的星形模型包含一个立方体引用两个维的外键

先决条件

在开始这篇课程之前,你应该

1. 下载owbdemo_files.zip 文件,解压缩到你的硬盘上

2. 完成课程1 和 2 ,并用rep_owner / rep_owner 登录

设计维

维是星形模型最重要的数据组织方式,一些通用的维度信息如客户,产品和时间。

一个维度包含一组层级(Level) ,一组层级关系(hierarchies),定义这些层级,用户总是使用这些已知的层级关系来下钻数据,查询的性能提升是因为查询优化器知道该如何选择那些数据可用。

为了创建一个维,你必须定义如下信息:

维属性 ( Dimension Attributes)

层级 (Levels)

层级属性 (Level Attributes)

层级关系 (Hierarchies)

在这节课程里,你必须执行以下步骤:

在Data Object Editor 里面检查预定义的PRODUCTS 维。

使用时间维向导创建REL_TIME 维

使用向导创建REL_CATEGORY 维

Data Object Editor 里面检查预定义的产品信息。

这节主题介绍一个维的示例,在创建一个维之前你可以查看已经存在的维来理解维的基本设计方式。

1. 在Project Explorer 面板里,展开OWB_DEMO > Databases > Oracle ,展开SALES_WH, 然后展开Dimension .右键点击打开PRODUCTS 然后选Open Editor.

注意:你也可以双击打开PRODUCTS

clip_image002

图1

启动Data Object Editor ,Data Object Editor 是一个单用户界面让你容易的设计,创建,管理多种数据库或维对象,Data Object Editor 是你使用图形(diagrams)和属性栏(property sheet) 来建立和修改各种数据模式的中心位置。界面应该如下图所示:

clip_image004

图2

2. 为了查看维属性,在Dimension Details 面板里点击Attributes 选项卡

注意维度有一个序列,PROD_DIM_SEQ ,这个序列是在装载数据的时候用的。

同样的,ID 属性被定义成了一个代理主键( Surrogate) 而SOUCE_ID 属性被定义成了业务主键(Business Key)

注意:维的主键列是维的主键并在每一个层级上使用代理主键的方式实现,使用序列的方式,你可以用唯一值来填满维的主键。

译者注:这句话有点绕口,因为维可以有两个理论上的主键,一个是代理主键,一个是业务主键,所以我们把其中的代理主键设成主键,但你也可以不设,只要保证值的唯一性就可以了,使用SEQUENCE 是一个简单的方法。注意下面的那张图

一个代理主键从序列装载数据的时候定义了每一个记录在所有层级上的唯一性,这是在维的主要字段指定的

一个业务主键定义了总是从数据源来的自然主键。

一个父标识符在你想使用基于值的层级关系时可用。

Descriptor 列,维属性被标记成Long Description 和 Short Description ,他们被用来在business intelligence tools (一个oracle 的工具)里面显示成员属性

点击Name 列,添加两个时间属性,VALID_FROM_DATE 和 VALID_TO_DATE ,详细信息如下图。

clip_image006

图3

3. 为了查看维的层级和层级属性,在Dimension Details 面板里点击Levels 选项卡来查看。注意其中有四个层级并且每个层级都有一组合适的属性,比如PRODUCT 层实现了所有的层级属性除了前面你定义的两个属性

为了使这两个时间字段适用与PRODUCT层级,点击Applicable 复选框:VALID_FROM_DATE 和 VALID_TO_DATE 属性,如下图所示

注意:一个层级并不需要实现所有的属性,在每个层级上保存这个层级的信息可以使你在一个层级上实现一个层级的维属性。(原文: A level is not required to implement all dimension attributes. Implementing a dimension attribute on a level enables you to store this information on a level.)

译者注:这句话翻译起来有点绕口,作者的意思大概是这样的:比如我们有一个地区 > 产品 的两级维,我们地区的所有属性比如地区主键,地区代号,地区名字,地区描述都可以传给下一个层级产品,而我们的产品可以有两个地区属性:一个是生产地,一个是销售地,甚至还可以包括消费者居住地地区信息,但是我们在实现产品这个维的时候,我们并不需要实现所有维信息尤其是当前维所继承的一些属性(这些属性比较不唯一),换句话说就是数据粒度的问题,我们在实现比较细粒度的维属性时不要包括了上层的粗粒度维信息

4. 在关系型实现里面,一个层级属性就是一个表的一列,层级属性并没有维属性相同的名字,不过OWB可以默认设置这个。

当你定义了层级属性的时候不要担心它们的顺序,这些层级只会被层级关系排序。

clip_image008

图4

为了查看层级信息,在Dimension Details 面板里面点击Hierarchies 选项卡,注意到里面只有一个层级关系,PROD_STD ,它的层级如下图所示的排序(从上到下的关系)

默认的Default 单选框可以在用户查询的时候使用你指定默认的层级关系,所以选择最常用的层级关系非常重要。

clip_image010

图5

5. 当你定义一个维的时候,你也可以定义缓慢增长维的策略

缓慢增长维(Slowly Changing Dimensions) 决定了你如何储存你的维的历史信息,你可以选择如图所示的三种策略

点击SCD 选项卡来决定PRODUCT维的SCD策略

clip_image012

图6

注意:Type 2 和Type 3 的SCD只在Enterprise ETL 选项里才有(当你只有Core ETL 功能的时候,SCD 里面只有Type 1可选,如果你只使用Core ETL功能并且你不打算执行这一步,你可以跳过下列操作),这个步骤只是检查一些信息,并没有和后面的步骤有联系。

如果你想保存完整的历史变化信息,选择Type 2 实现,点击Type2 : Store the complete change history

注意到Settings 按钮被激活了,点击Settings.

Type2 slowly changing dimension 对话框中,在Recording History 下拉列表中,选择你需要的属性:

Trigger History (触发记录历史信息):选择这个选项让你在创建一个新的记录的时候记录历史信息

Effective Date (有效时间起):选择这个选项可以让你记录一条记录开始活动的时间或日期

Expiration Date(失效日期)::这个选项可以记录一条记录失效的时间或日期

比如,你想当LIST_PRICE , NAME ,PACK_SIZE 其中任何一个变化的时候记录它的历史信息,把它们设置成Trigger History 属性,如下图所示,同样的,VALID_FROM_DATE 指定到Effective Date , VALID_TO_DATE指定到Expiration Date 属性。

clip_image014

图7

Type2 slowly changing policy 对话框里面点击Close 来关闭它

6. 你用OWB来设计一个维对象然后把它们部署到一个关系型数据库或者多维数据库,

在Storage 选项卡页面,你可以自己决定是把它们用关系型方法实现还是多维型方法实现。OWB会自动产生合适的代码

点击Storage 选项卡来查看PRODUCT维的实现方式,对于一个关系型实现,你可以选择 星形模型,雪花模型,或者手工方式。

clip_image016

图8

Data Object Editor 同样提供给你查看维里面数据的工具:Data Viewer

从Diagram 菜单,选择Close Window 来退出Data Object Editor

在下面的步骤中,你将要创建两个简单的跟EXPENSES相关的维,你可以在Data Object Editor 里面创建,但是在这节课中,我们将选择使用向导的方式创建维,这将提供给你一些默认值并使你通过简单的易于理解的方式创建维

使用时间维创建向导创建REL_TIME 

时间维被广泛的应用于数据仓库中当作时间系列,比如季度(这个季度的花费和上年同季度的花费比如何)

时间维也由一组层级和定义这些层级的层级关系组成,你可以使用OWB创建财政时间维或者日历时间维

OWB可以使你不仅创建时间维而且可以预填充时间维,当你使用向导创建时间维的时候,OWB自动的创建了映射并填充了数据

同样的,这些装入的数据符合时间维的OLAP标准属性

现在,你使用时间维向导来创建REL_TIME时间维

1. 你先前检查了SALES_WH 模块,现在,展开EXPENSE_WH ,右键点击Dimensions 并选择 New >Using Time Wizard

clip_image018

图9

2. 在Name and Description 页面,输入REL_TIME作为时间维的名字,点击Next

clip_image020

图10

3. 在Storage 页面,选择ROLAP : Relational storage 作为维的实现方式

clip_image022

图11

4. 在Data Generation 页面,你选择创建时间的范围,这个信息用来产生预定义的映射并填充时间维,在这个映射里,你输入的值将作为一个参数,这个映射将在最后一步得到

对于Start Year , 输入2003并输入3作为Number of years ,确定Calendar 被选中, 如下图

注意:在时间维里面的层级关系定义了一组相临近的层级之间的层级关系,一个时间维可以有一个或多个层级关系,每一个层级关系必须指定是财政层级或日历层级

如果时间维由财政数据组成,你必须指定start month 和财政年的日期和财政周开始的日期,你也需要指定月和季度的边界,可以是445或544

clip_image024

图12

点击Next

5. 在Levels页面,选择Normal Hierarchy并选择:Calendar Year, Calendar Quarter, Calendar Month 和Day,点击Next

clip_image026

图13

6. 在Pre Creates Settings 页面,检查详细信息并Next

clip_image028

图14

一个进度对话框显示了向导创建必要对象的进度

clip_image030

图15

在成功完成后,点击Next ,在Summary 页面,检查一遍详细信息并点Finish

注意到向导创建了四个必要的对象,REL_TIME维对象,REL_TIME_SEQ序列用来产生代理主键的,REL_TIME表用来支持时间维的物理存储方式的,还有最重要的REL_TIME_MAP对象来产生时间维映射的

clip_image032

图16

如果你好奇REL_TIME_MAP对象长什么样子,双击REL_TIME_MAP启动Mapping Editor

从View 菜单,选择Auto Layout,你可以看到扩展后的映射,你可以上下移动或放大缩小来查看这个映射,OWB自动创建这个映射来提高你的效率和节省时间

clip_image034

图17

你已经完成了创建REL_TIME时间维,下一步,你将要创建REL_CATEGORY维

使用向导创建REL_CATEGORY

1. 在EXPENSE_WH模块中,右键点击Dimension ,选择New Using Wizard

clip_image036

图18

2. 在Name and Description 页面,输入REL_CATEGORY作为维的名字,点击Next

clip_image038

图19

3. 在Storage Type 页面,选择ROLAP : Relational Storage 来指定维的实现方式,点击Next

clip_image040

图20

4. 在Dimension Attributes 页面,你找到预定义的列,ID,NAME,和DESCRIPTION,注意对于ID属性选择Surrogate (代理主键),对于Name属性选择Business

你可以随你喜欢改变这些值,但你必须有一个代理主键和业务主键,代理主键标识符必须是数字类型

对于NAME属性,把Length变成30,点击Next

clip_image042

图21

5. 在Levels页面,输入下面层级信息作为维的默认层级关系

CATEGORY (Description: Accounting Category)

TYPE (Description: As entered on Expense Report)

clip_image044

图22

6. 在Level Attributes页面,对于每一个你定义的层级,你选择维属性应用到那一层,接受默认选择并点击Next

clip_image046

图23

7. 在SCD页面,保持默认的SCD选项选中,点击Next

clip_image048

图24

如果你有其他要求,OWB默认实现最低层级的层级关系并创建时间属性(VALID_DATE 和 EXPIRED_DATE)

Pre Create Settings 页面,点击Next ,维创建进度条出现,成功完成后,选择Next,点击Finish 关闭Summary 页面

注意到REL_CATEGORY已经被添加到了EXPENSE_WH目标模块,对于维,OWB会默认创建一个表用星型模型来实现并且也会创建一个序列来填充ID 列

clip_image050

图25

设计立方体

立方体包含到一个或多个维的连接,立方体的轴包含维的值,立方体的身体包含度量值,大多数度量都是数字类型并且可加减,比如,销售数据可以组织成一个立方体包含时间,产品,和客户维并且身体包含度量值销售额和美元销售额

在一个关系实现中,一个立方体用外键约束连接到维表并且包含一组维,为了创建一个立方体,你必须定义下列对象

立方体度量(Cube Measures

立方体维度(Cube Dimensionality)

你执行以下步骤:

在Data Object Editor里面检查预定义的SALES立方体

使用向导创建REL_EXPENSE立方体

让我们先检查预定义的SALES立方体的度量和维度

在Data Object Editor里面检查预定义的SALES立方体

这个主题向你介绍一个实例立方体,通过查看一个已经存在的立方体,你可以理解设计一个立方体的基础,后面的主题中,你使用向导创建一个简单的立方体引用到expense 模块

1. 在Project Explorer 面板里,展开OWB_DEMO > Databases > Oracle ,展开SALES_WH , 然后展开Cubes ,右键点击Sales ,然后选择Open Editor.

注意:你也可以双击SALES

clip_image052

图26

2. 在Dimensional 面板里,向上或向下拖动来理解设计图,你将会看到SALES立方体连接到5个维:PRODUCTS , CHANNELS , CUSTOMERS , PROMOTIONS 和TIMES

clip_image054

图27

3. 在检查了SALES立方体后,在Cube Details 面板里点击Dimensions 选项卡,注意其中SALES立方体连接维的层级

比如,SALES 立方体引用了PRODUCTS 的PRODUCT层级,Role 列显示了一个下拉框,里面包括了一个我们选择的维所包含的维角色信息

clip_image056

图28

4. 为了检查SALES立方体的度量信息,点击Measures 选项卡,注意到三个度量都是数字类型,这些度量可以聚合产生总花费,数量,或一段时期或者一个特定的消费者或一个特定产品的销售数量

clip_image058

图29

5. 点击Aggregation 选项卡来定义每一个维的聚合方式

你选择聚合方式来聚合数据,你也可以对于每一个立方体所引用的维预计算这些度量,默认的集合方式是SUM

你必须指定下列值

Cube Aggregation Method: 选择聚合方式来聚合数据,默认的是SUM

Summary Refresh Method: 选择数据刷新方式,你可以选择ON DEMAND 或者ON COMMIT

Summary Strategy for Cube: 定义对于每一个维的层级的预计算方式

clip_image060

图30

6. 你可以实现一个关系型或者一个多维型实现,在关系型实现中,一个关系型表储存数据,当使用多维实现的时候,一个分析区(Analytic Workspace)储存数据

如果你想改变一个立方体的实现方式,点击Storage选项卡,你可以在关系型实现和多维型实现之间选择

对于关系型实现,你可以选择创建Bitmap index, 有这些索引可以提高查询时间的性能

clip_image062

图31

对于维,你可以用Date Viewer 来查看立方体的数据,从Design 菜单选择Close Window 来关闭Data Object Editor

使用向导创建一个REL_EXPENSE立方体

现在,你要创建一个简单的关系型立方体,REL_EXPENSE, 这个立方体引用两个前面已经创建的维:REL_TIME和REL_CATEGORY , 这个向导将帮助你使用简单的几步创建立方体

1. 前面你已经查看了SALES_WH模块,现在,切换到EXPENSE_WH模块,右键点击Cubes,然后选择NewUsing Wizard.

clip_image064

图32

2. 在Name and Description 页面,输入REL_EXPENSE 作为立方体的名字,点击Next

clip_image066

图33

3. 在Storage Type 页面,选择ROLAP : Relational Storage 作为立方体的关系型实现,点击Next

clip_image068

图34

4. 在Dimensions 页面,你选择你的立方体要引用的维,从左边的Available Dimensions 展开EXPENSE_WH。选择EXPENSE_WH 点击 > 按钮移动到右边。点击Next

clip_image070

图35

5. 在Measures 页面,输入EXPENSE作为名字,点击Next

clip_image072

图36

Summary 页面,查看cube 的详细信息,点击Finish

注意到REL_EXPENSE立方体被添加到了EXPENSE_WH模块的下面,在Data Object Editor 里面查看立方体,右击REL_EXPENSE并选择Open Editor 或者双击REL_EXPENSE 检查立方体,然后关闭Data Object Editor

clip_image074

图37

Design 菜单选择Save All 来提交你的工作

clip_image076

图38

总结

在这节课程中,你设计了一个关系型星型模型立方体连接到两个维

这节课程中,你学会了

创建一个目标用户模式和模块

创建一个外部表指向两个简单的文本文件

使用向导创建维包括一个时间维

使用向导创建一个立方体

注意一点,你设计了维对象,这些实现对象与序列,或一些数据装载程序(映射)有关,但是这些对象并不存在物理的数据中,这是OWB提供最主要的功能来分开逻辑上的设计和物理上的实现

为了真正的创建目标数据库,你需要进一步部署这些维对象和立方体,你同样需要设计,部署和执行ETL映射来装载数据,把数据从关系型数据库或文本文件转换到我们想要的格式并最终把这些数据加载到维和立方体表中

ETL

Oracle Warehouse Builder 11g 教程 Part 4

2008年7月27日

本系列教程翻译自OTN官方文档,为OWB的系列教程,全教程共12篇文章,我只介绍启中5篇,主要是想通过此教程向大家介绍OWB工具的的基本使用方法和数据仓库建模方法,由于水品有限,只能大体上保证翻译的通顺,如有任何不足之处请参考官方OTN文档.,文中很多英文词汇未翻译主要是为了配合截图

这系列文章也同时发表在itpub 上:

http://tech.it168.com/d/2007-12-28/200712271916501.shtml

http://tech.it168.com/d/2008-02-15/200802141542372.shtml

http://tech.it168.com/d/2008-02-27/200802271433072.shtml

转载注明出处 http://www.gemini5201314.net

原教程索引: http://www.oracle.com/technology/obe/11gr1_owb/index.htm

原教程列表如下:

1. Starting::

1 Starting with Oracle Warehouse Builder 11g Release 1 1

2 Working with Flat File Transactional Data

3 Designing the Relational Target Warehouse 5

4 Designing ETL Data Flow Mappings

5 Deploying Objects in the Target Warehouse

6 Loading the Target Warehouse

2. Extending:

1 Setting Up the Oracle Warehouse Builder Project 2

2 Examining Source Data Using Data Profiling 4

3 Matching and Merging Records

4 Extracting, Transforming and Loading Data 3

5 Modeling the Target Schema

6 Using Experts to Automate Warehouse Builder Tasks

只翻译其中5章,顺序如列表所示,本文所有图片来至OTN.,部分专业词汇尽量附上原英文单词.对于与程序有关的词汇尽量不翻译并给出原英文单词.,一些截图中的按钮部分单词也尽量是原文。

使用数据分析来检验你的源数据

http://www.gemini5201314.net

目的

这篇文章的目的是分析你的源数据,取得数据规则,使用相似度匹配创建更正映射(correction mapping) 更正数据错误.

主题:

这个教程包括如下主题

总览

先决条件

创建一个数据分析 (Data Profile)

取得数据规则

使用更正映射来清理数据

总结

总览

数据分析是OWB11g最显著的功能,它让你研究你的数据并发现其中的不规则现象,然后创建商业规则并根据这些商业规则来创建ETL过程。

数据分析是用来自动发现不一致,冗余,不精确的问题数据和元数据的

你可以发现你的原数据和目标数据的结构,关系和数据规则,数据分析提供数据一致性( compliant ) 和概括( outlines )的统计信息,包括Six Sigma ( 出现次品的几率 ),你可以深入研究不规则的数据并手工或自动得到数据规则,你可以用这些得到的数据规则来监控你的数据仓库的数据质量。

你可以进行属性分析,引用分析,功能依赖分析或自定义分析规则。

这些步骤可以用如下图来表示

clip_image002

图1

在开始的第一步,你分析原数据并发现数据所包含的信息,在第二步,你得到一些数据规则然后用这些数据规则来创建更正过程(第三步),这些更正过程就是普通的Oracle Warehouse Builder 映射过程,你需要把他们部署到第四步中,然后创建更正映射来清理这些数据

先决条件

在你开始这篇课程之前,你应该完成了建立OWB项目环境一节

创建数据分析

在你开始分析数据之前,你需要定义你需要分析的原数据,你已经在前面的课程中完成了导入DQ_SRC原数据模块的数据和元数据,现在你需要执行下列步骤来创建数据分析:

使用向导来创建数据分析

激活数据分析属性

分析原数据

使用向导创建数据分析

1. 假设你用owb 用户登录,展开HANDSON 项目,右键点击Data Profiles 然后选择New.

clip_image004

图2

2. 启动创建数据分析想到后,在欢迎页面点击Next

clip_image006

图3

3. 在Name and Description 页面,输入DP1 作为数据分析的名字,点击Next

clip_image008

图4

4. 在Select Objects 页面,按住ctrl 键选择左边的DQ_SRC 下的Available 列表中的Tables 和 Views移动到右边的Selected 列表中。点击Next

clip_image010

图5

5. 在Summary 页面,选择Finish , 你已经创建了一个元数据容器来储存所有的数据分析信息

clip_image012

图6

激活数据分析属性

1. 在Data Profile Editor 页面,会出现以下信息,点击OK

clip_image014

图7

2. 在左边的Property Inspector 面板,选上Enable Common Format Discovery 和 Enable Pattern Discovery

clip_image016

图8

发现通用格式(Common Format Discovery) 是Oracle Warehouse Builder 用来发现你数据中的通用格式的,它用一组规则来决定你的数据字段是否符合通用格式,比如社会保险号,Oracle Warehouse Builder 发现这些属性具有通用格式就标记它们。

模式发现( Patterns Discovery ) 是Oracle Warehouse Builder 用来发现数据中的模式的,你可以发现你的数据中隐藏的模式,这些模式需要用户来解释其正确的含义,然后基于这些模式定义数据规则,比如,模式发现可以最通用的模式比如某列是产品代码或SKU 股票代号( Stock Keeping Unit) ,一旦你发现了这些模式,你就可以用数据规则来解释它们。

2. 在Data Profile Editor 里面的Profile 菜单里选择Save All 然后点击Yes

分析你的源数据

1. 在Data Profile Editor 页面的Profile 菜单选择Profile .

clip_image018

图9

2. 如果这是你第一次运行数据分析你可以会被提示要求输入SYS 的密码,输入SYS密码后,点击OK

clip_image020

图10

3. 这将会大概执行2-5 分钟,这取决于你的机器

clip_image022

图11

4当任务完成后,你会收到一个消息,点击OK

clip_image024

图12

5 . 你可以从Monitor Panel 看到数据分析的进展情况(在Data Profile Editor 的右下角)

clip_image026

图13

6. 整个数据分析的过程大概会花费1-3分钟,当分析过程结束后(用一个标记标识),你就可以同步数据分析结果,如果你前面运行了其他数据分析操作这个选项就很有用,因为当新的数据分析结果可用时它可以让你自己来控制,点击Yes 来取得分析结果。

clip_image028

图14

数据分析现在完成了,任务状态在Monitor Panel 里面改变了并且显示了结果。

clip_image030

图15

取得数据规则

数据分析并不只在分析数据上(Data Profiling does not stop at analyzing the profiled data),你可以手工或自定的从分析结果取得数据规则。

在下面的步骤中,你基于JOB_ID 的域值(domain value)创建一个数据规则

译者注:域(domain) 是指某一个列的所有有效值的集合,你可以看到下图中的domain 选项卡中显示的就是域值

1. 在Object Trees 面板,确保Profile Objects 选项卡选中了,在DQ_SRC下,选中EMPLOYEES 表

clip_image032

图16

2. 点击Domain 选项卡

clip_image034

图17

3. 往下拖动选中JOB_ID 列Found Domain 里面的连接。

clip_image036

图18

4. 在Data Drill Panel 面板,你可以发现98%的结果集是跟下列5个值一致的:SH_CLERK , SH_CLERK ,SA_REP 和 PU_CLERK , 观察Data Drill Panel 面板,发现有两个值跟这些值不一致,第一行显示employee_id 为1001 的是不一致的,点击第二行。

clip_image038

图19

5. 第二行显示 employee_id 为了1000 的是不一致的。

clip_image040

图20

6. 在上面的面板中,确保JOB_ID 行高亮显示,然后点击Derive Data Rule 按钮。

clip_image042

图21

7. 点击Next 跳过欢迎页面。

clip_image044

图22

8. 在Data Rule Name 里面输入DM_JOB_ID 然后Next.

clip_image046

图23

9. 在Define Rule 页面,你看到一列数据已经自动的跟域值一致了(SH_CLERK,ST_CLER等等),确保所有的正确值都已经在域值里面了(所有的除了两个JOB_ID), 点击Next.

clip_image048

图24

10. 点Finish 来创建数据规则

clip_image050

图25

11. 注意在Data Rule面板底部数据规则被应用到EMPLOYEES 表,注意在Found Domains 单元格里面可获得规则符号已经变成了已获得规则符号,你可以查看Data Rule 面板里面已获得的数据规则。

clip_image052

图26

12. 切换到Design Center 窗口(你可以仍然打开Data Profile Editor 窗口),展开Data Rules 并双击DM_JOB_ID

clip_image054

图27

13. 点击Define Rule 选项卡

clip_image056

图28

14. 上面显示了域值,点击OK 来关闭窗口。

clip_image058

图29

使用更正映射来清理数据

你可以使用数据规则来创建一个更正,你可以自动产生一个映射来强制执行数据规则和更正那些不符合规则的数据。当这些映射执行时会把原数据更正成正确的数据

创建一个更正映射

检查更正映射

部署更正映射

执行更正映射来清理数据

查看正确的数据

创建更正映射

1. 切换回Data Profile Editor 窗口,你可以只关心你刚才创建的数据规则,所以除了Data Rule 面板里面的DM_JOB_ID以外其余都不选中。

clip_image060

图30

2. 在Profile Objects 里面选中EMPLOYEES , 在Profile 菜单选择Create Correction.

clip_image062

图31

3. 在Create Correction 向导启动后,点击Next

clip_image064

图32

4. 在Select Target Module 里面选DP_TGT ,点击Next

clip_image066

图33

5 在Select Object 页面,你可以看到EMPLOYEE 表已经被选中了,点击Next

clip_image068

图34

6. 在Create Correction 窗口里面,可以把域规则当作一个检查约束来实现。点击 Next

clip_image070

图35

7. Oracle Warehouse Builder 选择合适的模式元数据,把新表的名字改成CORR_EMPLOYEES ,点击Constraints 选项卡

clip_image072

图36

8. 把检查约束的名字改成DM_JOB_ID_CK1 ,然后拖动到右边。

clip_image074

图37

9. 注意约束是从数据规则里的出来的,点击Next

clip_image076

图38

10. 在Choose data correction actions 里面,选择DM_JOB_ID 并从清理策略(Cleanse Strategies)选择Similarity Match (相似度匹配),然后点Next

clip_image078

图39

12. 进度对话框出现

clip_image080

图40

13. 在进度对话框消失后,点击Finish 退出更正向导

clip_image082

图41

查看更正映射

你可以回顾一下你刚才创建的更正映射,执行以下步骤

1. 在Data Profile Editor 窗口的左上角点击Corrected Modules

clip_image084

图42

2. 所有的对象都是根据向导选择的,展开Functions 并双击SIM_JOB_ID

clip_image086

图43

3. 点击Implementation 选项卡

clip_image088

图44

4. 注意到相似度运算法则也是用来确保进行相似度匹配的时候也是进行了清理,下面高亮的文本显示了

score:= owb_match_merge.similarity(s(1), JOB_ID);

在你的结果里面,你可以看到

score:=owbsys_owb_match_merge.similarity(s(1),JOB_ID)

点击OK 来关闭窗口.

clip_image090

图45

5. 在Correct Modules 选项卡里,展开Mappings 并双击M_EMPLOYEES 映射。

clip_image092

图46

6 为了查看所有的表,点击Auto layout 按钮,回顾以下这些映射,注意到CORR_EMPLOYEES 表得到了全部的数据,所有的操作最后都绑定到这个表上。

clip_image094

图47

7. 选择ATTR_VALUE_1 表并在工具栏上点击Expand Child Graph 按钮

clip_image096

图48

8. ATTR_VALUE_1 是真正执行清理的操作,这是一个可插拨的映射,当你完成了回顾之后,关闭映射窗口和Data Profile Editor .

clip_image098

图49

9. 在Design Center 窗口里从Design 菜单选择Save All 来保存你的工作。

10. 在Design Center 里,展开DP_TGT > Mappings ,注意到同一个映射的所有元数据都已经储存在了目标模块中。

clip_image100

图50

部署更正映射

为了部署更正映射,执行以下步骤:

1. 选择Tools > Control Center Manager

clip_image102

图51

2. 展开DP_TGT_LOCATION 并且选择DP_TGT ,点击Default Actions . 这个任务会把对象设置成部署状态

clip_image104

图52

3. 选择 File > Deploy > To Control Center

clip_image106

图53

4. 注意:你可能收到消息说位置没有被注册,如果你收到了这个消息,确保主机名被设置成了localhost 而不是机器名并点击Test Connection 时是成功连接的。

你可以从Control Center Jobs 面板里监控部署过程。

clip_image108

图54

5. 一旦任务成功完成了,你就可以运行这个映射来真正清理数据了。

抱歉!评论已关闭.