使用数据监测检查源数据

使用数据监测检查源数据

本教程的目的是监测数据源、获取数据规则和创建一个更正映射以根据相似性匹配来更正数据。

注:本教程中的屏幕截图可能与您的略有不同,这取决于您完成本 OBE 系列中其他教程的顺序。您可以忽略屏幕上出现的无关项目。

大约 1 个小时

注: 本教程及其设置脚本仅支持 OWB 11g 第 1 版。该 Oracle 示例教程的早期版本可用于 OWB 10g 第 1 版和第 2 版。

主题

本教程包括下列主题:

概述
前提条件
总结

将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)

注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。

概述

数据监测是 Warehouse Builder 11g 的一个卓越的特性,您可以用它来调查数据和检测异常。然后,创建业务规则并根据这些规则生成一个更正性的 ETL 流程。

数据监测可以定义为一个流程,该流程可以自动识别有问题的数据和元数据,同时可以更正数据的不一致性、冗余和不准确性等问题。

您可以对您的源或目标数据进行监测,以发现结构、关系和数据规则。数据监测提供合规数据和异常值的统计信息,包括六西格玛。您可以下钻到异常,手动或自动获取数据规则。您可以使用这些数据规则来监视数据仓库中数据的质量。

您可以根据自定义的规则来执行属性分析、参考分析、功能相关性分析或监测数据。

下图显示了相关步骤。

第 1 步对源数据进行监测,同时对该数据所含的所有信息进行检测。在第 2 步中,您将获取某些数据规则,然后使用它们来获取更正(第 3 步)。这些更正是常规的 Warehouse Builder 映射,您需要在第 4 步中部署这些映射。最后一步将运行这些更正映射以清理目标中的数据。

返回主题列表

开始本教程之前,您应该:

1.

完成搭建 Oracle Warehouse Builder 项目教程。

返回主题列表

创建数据监测

在开始监测数据前,您需要定义待监测的源。在搭建教程中,您已经创建了待监测的 DQ_SRC 源模块,并且已经导入了元数据。现在,您可以执行下面的任务来创建数据监测:

使用向导来创建数据监测
启用数据监测属性
监测源数据

返回主题列表

使用向导来创建数据监测
1.

假设您以 OWB 用户身份登录,在主 Warehouse Builder 控制台中,展开 HANDSON 项目,右键单击 Data Profiles 并选择 New

2.

Create Data Profile 向导将启动。在 Welcome 页面上,单击 Next

3.

在 Name and Description 页面中,输入 DP1 作为数据监测名,还可以在 Description 域中输入说明(可选)。单击 Next

4.

在 Select Objects 页面中,按住 ctrl 键,同时从 Tables 列表和 Views 中选择 DQ_SRC,单击 > 将全部对象移至 Selected 列表。单击 Next

5.

在 Summary 页面中,选择 Finish。您已经创建了一个元数据容器,以存储与数据监测有关的所有信息。

返回主题

启用数据监测属性
1.

显示 Data Profile Editor。出现下面的提示后,单击 OK

2.

找到左侧的 Property Inspector,然后选中 Enable Common Format DiscoveryEnable Pattern Discovery 复选框。

如果启用 Common Format Discovery,您可以让 Warehouse Builder 发现您数据中的常见格式。这会使用一个规则列表来确定您的数据字段是否符合标准。这在查找社会保险编号(美国)等项目时是有用的。一旦 Warehouse Builder 检测到这些属性中的一个属性,该属性就会被标记为常见格式(如 SSN)。

如果启用 Pattern Discovery 以允许 Warehouse Builder 检测数据中的模式,将检测您的数据中的任何模式。这些模式将要求用户来解释实际的结果,然后定义数据规则以解释这些模式并对其进行操作。例如,模式识别可以在 Product Codes 或 SKU (Stock Keeping Unit) 等列中找到最常见的模式。一旦您发现了该模式,您就可以通过定义数据规则来解释该模式并对其进行操作。

3.

从 Data Profile Editor 的 Profile 菜单中选择 Save All,然后单击 Yes

返回主题

监测源数据

1.

在 Data Profile Editor 中,从 Profile 菜单中选择 Profile

2.

如果这是第一次运行监测,或许会提示您提供 SYS 口令。输入您的 SYS 口令,单击 OK

3.

这大约需要 2-5 分钟,具体取决于计算机。

4.

作业启动后,您会收到一条消息。单击 OK

5.

您可以在 Monitor Panel(Data Profile Editor 的右下角)中查看您的监测操作的状态。

6.

监测操作可能需要 1-3 分钟。监测操作结束后(通过对号指示),您可以对结果进行同步。如果您之前在同一数据监测中对您的数据进行了监测,这一选项是有用的,因为它可以使您控制监测结果何时显示在 Data Profile Editor 中。单击 Yes 以检索结果。

监测现已完成。Monitor Panel 中的作业状态发生改变,同时显示出结果。

返回主题

返回主题列表

获取数据规则

数据监测在分析监测的数据时不会停止。您可以从数据监测的结果中获取数据规则:手动或自动。

在下面的步骤中,您将为 JOB_ID 域值创建一个获取数据规则:

1.

在 Object Trees 面板中,确保已选择 Profile Objects 选项卡。在 DQ_SRC 下,选择 EMPLOYEES 表。

2.

单击 Domain 选项卡。

3.

向下滚动到 JOB_ID 列,然后选择 Found Domain 列中的超链接。

4.

在 Data Drill Panel 中,选择第一行。您可以看到 98% 的记录都符合这 5 个域值:SH_CLERK、ST_CLERK、IT_PROG、SA_REP 和 PU_CLERK。可以看到 Data Drill Panel 中有 2 条记录不符合这些值。第一行指示 employee_id 1001 不符合。单击第二行。

5.

第二行指示 employee_id 1000 不符合。

6.

在顶部的面板中,确保 JOB_ID 行依然高亮显示,然后单击 Derive Data Rule 按钮。

7.

单击向导的 Welcome 页中的 Next

8.

输入 DM_JOB_ID 作为数据规则名,单击 Next

9.

在 Define Rule 页面中,您会看到一个系统认为符合自动填充的域(SH_CLERK、ST_CLERK 等)的值的列表。确保域列表中的值正确(除两个拼写错误的 JOB_ID 之外的所有值都在该列表里),单击 Next

10.

单击 Finish 创建获取数据规则。

11.

注意屏幕底部的 Data Rule Panel 中显示为适用于 EMPLOYEES 表的数据规则。注意 Found Domains 单元格中的可获取符号是如何变为已获取符号的。您可以在 Data Rule Panel 中看到已获取的数据规则。

12.

切换到 Design Center 窗口(您可以不关闭 Data Profile Editor 窗口)。展开 Data Rules,双击 DM_JOB_ID

13.

单击 Define Rule 选项卡。

14.

列出域值。单击 OK 关闭窗口。

返回主题列表

使用更正映射来清理数据

您可以使用数据规则来创建更正。您可以自动生成一个执行数据规则的映射,并更正不符合规则的记录。在执行时,该映射可以将数据从监测的源移到更正后的目标中。

创建更正映射
检查更正映射
部署更正映射
执行更正映射以清理数据
查看更正后的数据

返回主题列表

创建更正映射

1.

切换回 Data Profile Editor。由于您仅对您刚刚创建的规则感兴趣,因此取消选择 Data Rule Panel 中除 DM_JOB_ID 之外的所有数据规则。

2.

从 Profile Object 列表中选择 EMPLOYEES。从 Profile 菜单中选择 Create Correction。

3.

Create Correction 向导启动。在欢迎屏幕上,单击 Next

4.

选择 DP_TGT 作为更正的目标模块,单击 Next

5.

在 Select Objects 页面中,您可以看到已经选择 EMPLOYEES 表。单击 Next

6.

域规则可以作为校验约束实施在新的目标表上。单击 Next

7.

Warehouse Builder 生成适当的模式元数据。将新表的名称改为 CORR_EMPLOYEES。单击 Constraints 选项卡。

8.

将校验约束重命名为 DM_JOB_ID_CK1,然后滚动到右侧。

9.

注意该约束是从数据规则中获得的。单击 Next

10.

Choose data correction actions 部分中,从 Cleanse Strategies 列表中选择 DM_JOB_IDSimilarity Match,然后单击 Next。

12.

出现进度对话框。

13.

出现进度对话框后,单击 Finish 退出 Correction 向导。

返回主题

检查更正映射

您可以检查您刚刚创建的更正映射。执行以下步骤:

1.

单击 Data Profile Editor 窗口左上角的 Corrected Modules 选项卡。

2.

所有的对象都是根据在向导中所做的选择生成的。展开 Functions,双击 SIM_JOB_ID

3.

单击 Implementation 选项卡。

4.

注意对相似性算法的调用,以确保使用相似性匹配进行数据清理。下面屏幕截图中高亮显示的文本为:

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

您的结果中应当有:

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

单击 OK 关闭窗口。

5.

回到 Correct 模块选项卡中,展开 Mappings 并双击 M_EMPLOYEES 映射。

6.

要查看所有的表,单击工具栏中的 Auto-layout 按钮。检查映射。注意 CORR_EMPLOYEES 表检索所有数据,两个目标运算符与此单个表绑定。

7.

选择 ATTR_VALUE_1 表,单击工具栏上的 Expand Child Graph 按钮。

8.

ATTR_VALUE_1 是进行实际清理的运算符。该运算符是一个可插入映射。检查完毕后,关闭 Mapping 窗口和 Data Profile Editor。

9.

在 Design Center 窗口中,从 Design 菜单中选择 Save All,然后单击 Yes 保存您的工作。

10.

在 Design Center 内,展开 DP_TGT > Mappings。注意同一映射。在 Data Profile Editor 显示的所有元数据现在都存储在该目标模块中。

返回主题

部署更正映射

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

1.

选择 Tools > Control Center Manager

2.

展开 DP_TGT_LOCATION 并选择 DP_TGT。单击 Default Actions。该任务设置部署对象。

3.

选择 File > Deploy > To Control Center

4.

:您可能会收到一条消息,指明该位置未注册。如果您收到了该消息,确保主机名设置为 localhost 而非计算机名,单击 Test Connection,然后单击 OK。

您可以在作业面板中监视部署作业。

5.

一旦部署作业成功结束,您就可以运行映射真正地将数据清理到目标表中。

返回主题

执行更正映射以清理数据

要清理数据,您需要将更正映射执行到目标表中。执行以下步骤:

1.

DP_TGT 下,展开 Mappings,右键单击 M_EMPLOYEES。然后,选择 Start

2.

在作业面板中,监视作业的执行情况。结束后,双击该作业。

3.

单击 Execution Results 选项卡以检查结果。

4.

在结果中,109 条记录全都是从源中选择的记录。根据数据规则,有 2 条记录是不正确的,您将在后面的 3 个表中看到这 2 条记录(插入到 temp 表和 error 表以及当清理到目标表时)。正确记录的数量是 107 条,它们符合规则,因而直接移到了目标中。检查结束后,关闭此窗口和 Control Center Manager 窗口。

返回主题

查看更正后的数据

要查看更正后的数据,执行以下步骤:

1.

在 Design Center 中,展开 DP_TGT > Tables 并右键单击 CORR_EMPLOYEES,然后选择 Data

2.

单击 Where Clause... 按钮。

3.

输入 employee_id=1001,单击 OK

4.

注意 EMPLOYEE_ID 1001 的 JOB_ID 值已经更正为 SA_REP 而非 SA_REPP。再次单击 Where Clause... 按钮。

5.

输入 employee_id=1000,单击 OK

6.

注意 EMPLOYEE_ID 1000 的 JOB_ID 值已经更正为 PU_CLERK 而非 PU_CLIRK。

返回主题

返回主题列表

数据监测是 Warehouse Builder 不可分割的一部分,是业务智能系统的设计和实施过程中的一个主要步骤。在仅了解数据源连接信息的情况下,数据监测使您可以对源数据及其业务目标做出客观的评价。

在本教程中,您学习了如何:

监测一组源表

为通过数据规则发现的异常自动获取数据规则

创建一个更正对监测的源执行获取到的数据规则。

返回主题列表

将鼠标置于该图标上可以隐藏所有的屏幕截图。