使用数据监测检查源数据
使用数据监测检查源数据
本教程的目的是监测数据源、获取数据规则和创建一个更正映射以根据相似性匹配来更正数据。
注:本教程中的屏幕截图可能与您的略有不同,这取决于您完成本 OBE 系列中其他教程的顺序。您可以忽略屏幕上出现的无关项目。
大约 1 个小时
注: 本教程及其设置脚本仅支持 OWB 11g 第 1 版。该 Oracle 示例教程的早期版本可用于 OWB 10g 第 1 版和第 2 版。
本教程包括下列主题:
将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。
数据监测是 Warehouse Builder 11g 的一个卓越的特性,您可以用它来调查数据和检测异常。然后,创建业务规则并根据这些规则生成一个更正性的 ETL 流程。
数据监测可以定义为一个流程,该流程可以自动识别有问题的数据和元数据,同时可以更正数据的不一致性、冗余和不准确性等问题。
您可以对您的源或目标数据进行监测,以发现结构、关系和数据规则。数据监测提供合规数据和异常值的统计信息,包括六西格玛。您可以下钻到异常,手动或自动获取数据规则。您可以使用这些数据规则来监视数据仓库中数据的质量。
您可以根据自定义的规则来执行属性分析、参考分析、功能相关性分析或监测数据。
下图显示了相关步骤。

第 1 步对源数据进行监测,同时对该数据所含的所有信息进行检测。在第 2 步中,您将获取某些数据规则,然后使用它们来获取更正(第 3 步)。这些更正是常规的 Warehouse Builder 映射,您需要在第 4 步中部署这些映射。最后一步将运行这些更正映射以清理目标中的数据。
返回主题列表
开始本教程之前,您应该:
返回主题列表
在开始监测数据前,您需要定义待监测的源。在搭建教程中,您已经创建了待监测的 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 Discovery 和 Enable 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_ID 和 Similarity 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 不可分割的一部分,是业务智能系统的设计和实施过程中的一个主要步骤。在仅了解数据源连接信息的情况下,数据监测使您可以对源数据及其业务目标做出客观的评价。
在本教程中,您学习了如何:
 |
监测一组源表
|
 |
为通过数据规则发现的异常自动获取数据规则
|
 |
创建一个更正对监测的源执行获取到的数据规则。
|
返回主题列表
|