内容


探究数据沿袭:全面了解您的数据流

在 IBM InfoSphere Metadata Workbench 中通过扩展数据沿袭分析企业数据移动

简介

最近,越来越多的政府法规和企业内部数据治理方案要求 IT 组织实现自动化的流程,以提供有关关键企业信息资产(比如商业智能报告)的准确数据沿袭。IBM InfoSphere Information Server 是一种数据集成软件平台,帮助组织从其复杂的、异构的信息中获取价值并理解它们。该平台包含了各种用于理解、整理、转换和交付信息的组件。下面列出了 Information Server 8.1 中的组件:

  • Metadata Workbench
  • Business Glossary
  • FastTrack
  • Information Analyzer
  • QualityStage
  • DataStage
  • Information Services Director

为了实现对信息的高度共享和可重用能力,Information Server 的所有组件都将通过一个通用的元数据层访问和持久化它们的元数据,这个元数据层由一个元数据服务器和一个共享元数据库组成。

InfoSphere Metadata Workbench 是 Information Server 不可或缺的组成部分,它提供有关存储在其元数据库中的各种资产的数据沿袭和影响分析报告,包括商业智能报告、数据库、遗留数据资产等等。Metadata Workbench 的核心特性之一就是它的一项内置支持,即在由 Information Server 组件创建或导入的元数据之间自动推断沿袭关系。

通过使用这些功能,业务用户就可以解答以下这类问题:“我当前查看的报告的来源是什么?” 以及 “我不信任这份报告的数据。这份报告所基于的数据应用了哪些转换?” 等。回答这些问题对于满足当前许多行业中的遵从性法规非常关键,包括金融业、银行业和制造业。同样,IT 分析师可以获得有关变更影响的问题的答案,包括 “如果我修改对这个列的约束的话,哪些资产和流程会受到影响?” 和 “我能够淘汰这个数据库呢?”

沿袭报告

Metadata Workbench 提供了各种现成的有关资产的沿袭报告,包括:

  • 导入的数据库(表、列)和基于表结构的文件及其字段
  • DataStage 和 QualityStage ETL 任务和内含的 stage
  • 导入的 BI 报告和报告字段

图 1 展示了一个示例数据转换和移动流程,其中数据(来自两个源 RUT_UT 和 RUT_EMEA)由两个独立的 DataStage ETL 任务移动到一个临时数据库(CRT_STAGING)。此后,另一个 DataStage ETL 任务将数据移动到一个名为 ENT_DWH 的数据仓库。最后,第四个 DataStage ETL 任务(TO_MART)构建了一个数据集市(MART),供三个 Cognos BI 报告使用。

图 1. 企业中的样例数据流拓扑结构
上文描述的流程图
上文描述的流程图

在这个特别的数据流中,Metadata Workbench 支持所有参与到其中的组件(任务、数据库、表和 BI 报告)。因此,从某个 BI 报告(比如 SalesPerQtr 报告)开始的数据沿袭报告将成功展示完整的流程,一直追溯到两个数据源。清单 1 展示了针对 SalesPerQtr 报告的数据沿袭报告的结果看上去是什么样子的。

清单 1. SalesPerQtr 报告
MART
TO_MART Jobs
ENT_DWH
STG_TO_DWH Jobs
CRT_STAGING
US_TO_STAGING Jobs
EMEA_TO_STAGING Jobs
 RUT_USRUT_EMEA

对于这个示例,描述数据如何从一个位置移动到另一个位置的所有元数据被存储在元数据库中,因此使 Metadata Workbench 能够通过推断从源到目标的关系链来构建完整的沿袭。

在理想条件下,客户只需要 Information Server 一个工具就可以执行数据转换和移动。然而,在几乎所有实际情况下,客户需要使用多个方法或应用程序执行数据转换和移动。其中包括存储过程、其他供应商的 ETL 系统、ERP 系统和内部应用程序。这些流程和系统的元数据并没有本地存储在 Information Server 的库中,这一事实将会对客户能否查看由 Metadata Workbench 数据沿袭报告提供的完整数据流产生影响。

不完整的数据沿袭报告

为了展示这种影响,下一个例子将使用一个不同的数据转换和移动流程。与 DataStage 任务不同的是,数据仓库现在由存储过程 STG_TO_DWH 填充,如图 2 所示。

图 2. 企业中的样例数据流拓扑结构,其中使用非 Information Server 流程
与图 1 相同的流程图,不同之处在于 CRT_STAGING 将通向一个被划掉的(crossed-out)STG_TO_DWH 存储过程,而此后的流程将仅流向 Sales Per Qtr 报告。
与图 1 相同的流程图,不同之处在于 CRT_STAGING 将通向一个被划掉的(crossed-out)STG_TO_DWH 存储过程,而此后的流程将仅流向 Sales Per Qtr 报告。

如果对 BI 报告 SalesPerQtr 运行数据沿袭分析,将获得如下结果:

清单 2. SalesPerQtr BI 报告
MART
TO_MART Jobs
ENT_DWH

沿袭在 ENT_DWH 处停止,因为 Metadata Workbench 没有获得足够的信息来确定存储过程将数据从 CRT_STAGING 移动到了 ENT_DWH。熟悉 Metadata Workbench 的 IT 分析师可能会意识到这点并因此从 CRT_STAGING 运行另一个沿袭。清单 3 展示了结果:

清单 3. 从 CRT_STAGING 运行沿袭
US_TO_STAGING Jobs
EMEA_TO_STAGING Jobs
RUT_USRUT_EMEA

因此当来自临时数据库的信息通过存储过程被转移到数据仓库中时,这个沿袭出现了一个断点。存储过程或其他操作数据的外部应用程序使用户无法观察到完整的数据沿袭报告。

Metadata Workbench 8.1.2 可以弥补数据流分析中的这些断点,具体做法就是通过一个名为扩展数据沿袭(extended data lineage) 的方法描述 Information Server 外发生的数据移动流程。本文的其余部分将描述如何根据 图 2 中的示例场景获得准确的扩展数据沿袭报告。

使用扩展数据沿袭

通过使用扩展数据沿袭,不管您使用哪一种流程或应用程序移动或转换您的数据,都可以在整个企业中跟踪数据流。

对于 Metadata Workbench,一个外部流程就相当于一个包含已知端点的黑匣子(源和目标)。扩展映射实际上是源到目标的映射,描述数据从一个或多个源流动到一个或多个目标。扩展映射是指填补 Information Server 和外部流程之间的缺口的沿袭点(参见 沿袭报告)。通过使用扩展映射,就可以对 Information Server 外部的数据流执行数据沿袭分析。

扩展映射文档

扩展映射被组织为扩展映射文档。映射文档中的每一个行都包含一个源到目标的映射(通常针对特定的流程或例程创建)。映射文档可以通过一种逻辑方法创建和管理,这种逻辑方法与企业中对数据转换逻辑的划分方式相对应。

在创建扩展映射文档以沿着样例存储过程 STG_TO_DWH 跟踪沿袭后,生成了如图 3 所示的正确的数据沿袭报告。

图 3. ETL 流程的数据沿袭报告,使用扩展映射纠正了存储过程
流程图,突出显示了扩展映射存储过程及其描述。
流程图,突出显示了扩展映射存储过程及其描述。

定制属性

除了预定义的字段外,通过对映射定义定制属性,您还可以向扩展映射添加额外的定制字段。参见 参考资料,获得有关这些功能的详细信息。

创建扩展映射文档

创建、导入和删除扩展映射文档属于管理任务,要求 Information Server 用户具有 Metadata Workbench 管理员访问权。

通过以下步骤在 Metadata Workbench 中创建扩展映射文档:

  1. 在 Metadata Workbench 中,单击右侧控制栏中的 Advanced 选项卡。该选项卡只对 Metadata Workbench 管理员可见。
  2. 在 Extension Mapping Documents 区段选择 Create Extension Mapping Document。图 4 展示了包含这个新的扩展映射文档的信息的窗口。该窗口显示了 2 个选项卡:Properties 和 Mappings。
图 4. Create Extension Mapping 窗口的 Properties 选项卡
屏幕截图:Properties 选项卡,其中填充了 Name、File Name、Type 和 Description 字段。
屏幕截图:Properties 选项卡,其中填充了 Name、File Name、Type 和 Description 字段。
  1. 在 Properties 选项卡中,为映射文档输入一个名称。这个名称必须具有足够的描述性,这样才能在稍后识别该文档。
  2. 可以选择输入一个类型。这是一个自由文本(free-text)字段,可以提供扩展映射文档的分类。例如,如果创建的文档用于描述存储过程、主机应用程序或 Web 服务,那么 Metadata Workbench 用户按照类型或名称搜索扩展映射文档将很有效。或者,还可以根据业务领域划分类别,比如输入金融、人力资源、后勤和产品等等都会有帮助。
  3. 还可以选择输入扩展映射文档的描述。其中可能包含映射文档所描述的源系统、将来有可能会有用的任何相关节点,等等。

创建映射

在 Mappings 选项卡中,输入描述实际数据移动的扩展映射。每个扩展映射描述从源到目标的数据移动。

Mappings 选项卡使用表格格式布局,表中的每一行都是一个扩展映射。下表详细描述了扩展映射的每个字段以及如何填充它们。

表 1. 扩展映射字段
字段名作用填充说明
Name映射的名称,具有描述性,用于在映射文档内惟一地识别该映射。(可选)
单击单元格并输入文本。
Sources一个或多个映射源。参见 定义源和目标(必填)
图 5 展示了在单击源字段时 Asset Selector 窗口如何出现,您可以在此窗口内查找将作为映射源的资产。
Rules映射的非正式规则。例如,将姓和名连接在一起,有时还附带问候语。(可选)
单击单元格并输入文本。
Functions映射的正式规则。例如:slt+". " +fName+' '+lName=fullName(可选)
单击单元格并输入文本。对这个字段的内容没有进行正式的验证。
Targets此映射的一个或多个目标。参见 定义源和目标(必填)
选择目标的方式与选择源的方式相同。
Description描述映射的文本(可选)
单击单元格并输入文本。
图 5. 选择一个源或目标
屏幕截图:Asset Selector 窗口,指定一个源或目标。
屏幕截图:Asset Selector 窗口,指定一个源或目标。

编辑映射

输入一个映射后,可以向表中添加额外的行,从而添加新的映射。当输入完所有映射后,通过单击 Save 保存新创建的扩展映射文档,如图 6 所示。

图 6. 编辑映射
屏幕截图,描述 REP_PROC157_DTP001 并显示一个连接(concatenation)规则被修改。
屏幕截图,描述 REP_PROC157_DTP001 并显示一个连接(concatenation)规则被修改。

定义源和目标

源和目标具有许多种不同的类型。这些资产是从 Information Server 元数据库的可用资产列表中选择的。可用资产类型包括:

  • Database 资产(数据库、模式、表、列)
  • Data Files 字段
  • DataStage 资产(任务、stage、stage 列)

还可以选择扩展的数据源,其中将显示应用程序、方法和参数等资产。扩展的数据源支持 Web 服务或 API 调用等成为映射的源或目标。

一定要确保所有必需的资产已经全部被导入并且保持最新的状态。尽管一个典型映射具有一个源和一个目标,但是在某些场景下,一个映射会具有多个源和目标。例如,某个映射具有多个源表和一个目标表,它可能描述这样一种流程:从多个表(使用 SQL 连接或合并)选择行并将结果插入到单个表。

类似地,如果一个映射描述的是将 address 字段分割为 Line1, Line2, City, ZipCode,那么它将有一个源列和 4 个目标列。

这些例子说明映射可以被描述为不同的粒度级别。例如,一个存储过程可以按照一个粗粒度级别描述,其中源或目标指向数据库表。另外,也可以通过更多的映射用细粒度级别描述它,其中源和目标指向表列。具体要使用哪一种粒度级别取决于用于归档关系的资源以及所需的沿袭程度。如果企业需要对 10000 个存储过程进行沿袭报告,那么在表级别执行映射可能更加合适,因为如果在列级别的话,需要创建数十万个列映射。然而,如果所需的沿袭报告只需要指出报告源自哪一个数据库,那么则根本不需要在更细粒度级别上归档。

查找并查看映射文档

可以通过以下任一方式查看扩展映射文档:

  • 在 Discover 选项卡上,单击 Find 链接并选择 Extension Mapping Document 作为 Asset Type。
  • 在 Discover 选项卡上,单击 Query 链接,并创建一个查询来查找扩展映射文档。
  • 在 Asset Type 中查找或查询 extension mapping,搜索个别的扩展映射。对于这类搜索,为映射起一个有意义的名字将令搜索变得更简单。
  • 在 Discover 选项卡,从 Additional Types 下拉菜单中选择 Extension Mapping Document,然后单击 Display 以查看所有扩展映射文档。
  • 在 Advanced 选项卡,单击 Manage Extension Mapping Documents 以查看所有扩展映射文档。

图 7 展示了搜索的示例结果。

图 7. 扩展映射文档搜索结果
屏幕截图:Find 窗口搜索 ‘mat’,而 Find Results 窗口显示有三个资产包含 ‘Maturity’ 一词。
屏幕截图:Find 窗口搜索 ‘mat’,而 Find Results 窗口显示有三个资产包含 ‘Maturity’ 一词。

当一个扩展映射文档出现在显示列表中时,您就可以通过单击相关的映射文档浏览它。图 8 展示了如何在 view 模式中打开扩展映射文档。

图 8. 在 view 模式下的扩展映射文档
屏幕截图显示 REP_PROC157_DTP001 的 Extension                     Mapping Document 和 Extension Mappings。
屏幕截图显示 REP_PROC157_DTP001 的 Extension Mapping Document 和 Extension Mappings。

管理扩展映射文档

本节描述了如何编辑扩展映射文档以及如何指定术语和管理人员。

编辑扩展映射文档

要手动修改扩展映射文档中的映射,Metadata Workbench 管理员可以通过以下任意一种方式访问某个扩展映射文档的编辑窗口:

  • 在 Find/Query results 窗口中,右键单击此扩展映射文档并选择 Edit
  • 在某个扩展映射文档的 view mode 窗口中,单击右侧面板中的 Edit

这些方法都可以为扩展映射文档打开 编辑窗口。在创建扩展映射文档时也会看到此窗口。可以修改 Properties 选项卡中的所有属性,并且可以在 Mapping 选项卡中对映射作出修改。

指定术语和管理人员

您可以为扩展映射文档指定术语和管理人员。如果映射文档具有共享的业务含义,并且组织内有专人负责管理,那么理解映射文档将会容易许多。

图 9 展示了您可以选择多个扩展映射文档并单击 Assign Term 链接。Business Term 选择窗口将打开。选择好术语后,它将被分配给所有已选中的扩展映射文档。

同样,还可以为扩展映射文档指定管理人员。可以选择一个或多个扩展映射文档并单击 Assign Steward 链接。Steward 选择窗口将打开。选择好管理人员后,它们将被分配给所有选中的扩展映射文档。

图 9. 分配术语和管理人员
屏幕截图:Extension Mapping Document Results 窗口显示一些 Extension Data Mapping.txt 资产的复选框被选中。
屏幕截图:Extension Mapping Document Results 窗口显示一些 Extension Data Mapping.txt 资产的复选框被选中。

导入扩展映射文档

Metadata Workbench 提供了一种自动化的方式创建扩展映射文档,即支持从 csv 文件导入映射文档。与在编辑窗口(见 图 5)中创建并维护大量扩展映射文档不同的是,您可以将它们从 csv 文件中导入到 Metadata Workbench。许多企业需要使用数十万个扩展映射文档,而通过使用导入方法将极大地加快沿袭功能的部署。由于 csv 格式经过了良好的归档并且易于遵循,因此 IT 开发人员可以从现有的电子表格、数据库和其他来源轻松地生成与 Workbench 兼容的映射文档文件。

Metadata Workbench 管理员可以通过执行下面的步骤导入扩展映射文档:

  1. 在 Advanced 选项卡中,单击 Import Extension Mapping Documents
  2. 通过单击 Add 按钮选择一个或多个 csv 文件或目录。
  3. 如果 csv 文件中的源或目标包含将要映射的资产的相对路径,那么在 Source 字段中添加 source 前缀,并在 Target 字段中添加 target 前缀。例如,如果扩展映射文档包含服务器 SVR、数据库 DB1、模式 MY_SCH 和表 MYTBL 中的列之间的映射;那么 csv 文件则可以根据完整名称关联到列,例如 SVR.DB1.MY_SCH.MYTBL.COL1。或者,可以仅将它们引用为 MYTBL.COL1,在这种情况下,导入对话中的 Source 字段应当包含前缀 SVR.DB1.MY_SCH

只需导入修改后的相同文件,就可以重新导入已导入的扩展映射文档。这允许在外部维护扩展映射,并且只要有必要,就可以将新的映射版本导入到元数据库。

扩展映射文档文件格式

扩展映射文档文件使用 csv 格式,并且每个扩展映射被表示为 csv 中的一行。在每一行上,映射字段的值按 表 1 的描述输入。该文件必须遵循以下规则:

  • 文件必须为 UTF-8 或 ANSI 编码。
  • 第一行必须为标题,包含以下列(不区分大小写和顺序):
    • 名称
    • 源列
    • 目标列
    • 规则
    • 功能
    • 说明
    • (其他任何列都被忽略)
  • 必须使用逗号作为分隔符。
  • 点标记标识一个源或目标资产。应当使用与元数据库中显示的相同名称标识。使用 Metadata Workbench 查看资产的名称有助于准确地命名资产。每个资产类型都需要一个不同的标记,如下所示:
    • 模式被标识为 {server}.{database}.{schema}
    • 表被标识为 {server}.{database}.{schema}.{table}
    • 列被标识为 {server}.{database}.{schema}.{table}.{column}
    • 文件被标识为 {server}.{data_file}
    • 文件字段被标识为 {server}.{data_file}.{data_file_field}
  • 对于多个源或目标,应当使用双引号(")包围起来,并且使用逗号分隔每一项。
  • 如果值包含逗号的话,规则、功能和说明值应当使用双引号(")包围起来。
  • 内容可以使用任意语言,只要使用了 UTF-8 编码。
  • 如果在元数据库中无法找到任何源或目标,那么其中引用了源的映射将被忽略。

清单 4 展示了一个示例 csv 文件。

清单 4. 样例扩展映射文档 csv 文件
[Line 1] Name,Source Columns,Target Columns,Rule,Function,Specification Description
[Line 2] "reg map","DB2.CRT_STG.HAYDEN.SALES.CITY, DB2.CRT_STG.HAYDEN.SALES.SALES_CNTRY",
	"DB2.ENT_DWH.HAYDEN.SALES_AGGR1A.REGN","conc city and country, based on IS...",
	"REGN = CITY+""["" + SALES_COUNTRY+""]"" ","speak to Bob for more info"
[Line 3] ,"DB2.CRT_STG.HAYDEN.SALES.RETURNS_SALES, DB2.CRT_STG.HAYDEN.SALES.TOTAL_SALES",
	"DB2.ENT_DWH.HAYDEN.SALES_AGGR1A.TOTAL_SALES_DOLLAR",
	"just subtract the RETURNS from the TOTAL_SALES ",,

从 FastTrack 映射规范导入

还可以从 FastTrack(参见 参考资料)导入扩展映射文档,方法是将 FastTrack 映射规范导出到 csv 文件,然后再将这些文件导入 Metadata Workbench。之所以可以这样做,是因为 FastTrack 映射规范和扩展映射文档使用相同的文件格式。可以在电子表格类应用程序中编辑内容,并在其中将文件保存为 csv 文件。这些应用程序通常可以很优雅地处理添加双引号的问题,并且提供了清晰的、选项卡式的映射视图。

被导入的扩展映射文档将根据它的源文件自动获得一个名称。在导入大量的映射时,将出现一个进度窗口,提示您当前的进度以及导入期间出现的任何错误。

监视状态

对扩展映射文档执行的所有管理操作的细节都被记录到 Information Server 中。通过在 Information Server 的 Web 控制台中创建一个日志视图,您就可以查看这些细节,具体步骤如下:

  1. 登录到 Information Server 的 Web 控制台。
  2. 导航到 Administration 选项卡,并打开 Log Management 区段。
  3. 选择 Log Views > New Log View
  4. 从 Categories 列表中,选择 WORKBENCH-EXTENDED-LINEAGE,如图 10 所示,并选择 Save and Close
图 10. 创建日志视图
屏幕截图:Log Views 窗口显示 WORKBENCH-EXTENDED-LINEAGE 在 Categories 区段中被突出显示。
屏幕截图:Log Views 窗口显示 WORKBENCH-EXTENDED-LINEAGE 在 Categories 区段中被突出显示。
  1. 使用此日志视图查看扩展映射文档的活动,如图 11 所示。
图 11. 查看日志
屏幕截图:Log View 窗口显示 WORKBENCH-EXTENDED-LINEAGE 的活动。
屏幕截图:Log View 窗口显示 WORKBENCH-EXTENDED-LINEAGE 的活动。

对扩展映射文档使用命令行界面

可以通过 Metadata Workbench Web 界面或命令行界面导入和删除扩展映射文档。对于命令行界面,可以调度经常执行的导入操作以及删除不再需要的映射,这样在执行这些操作时就不需要人为干预。

要访问命令行脚本,需要在安装 Metadata Workbench 8.1.2 之前安装 Information Server Manager。完成 Information Server 的客户机安装后,命令行脚本就可以用于 Windows® 和 UNIX® 之类的操作系统。命令行界面位于 <InformationServer_Root>/Client/istools/cli

扩展映射文档的导入和删除是通过 istool 应用程序执行的。通过这种方法,脚本可以被编写为使用管理员所需的任何逻辑导入或删除扩展映射文档,当然,这些脚本可以由任何第三方调度程序执行。

清单 5 展示了如何通过一个简单的命令将包含扩展映射文档文件的完整目录导入到 Metadata Workbench。

清单 5. 命令行导入调用样例
cli>istool workbench extension mapping import -domain is1 -username isadmin -password ****
	-filename /mappings/entanys/eg2 -output /mappings/reports/output.log

有关语法的完整细节以及命令行示例可以从 Information Server Information Center(参见 参考资料)获得。

结束语

Metadata Workbench 8.1.2 中的扩展沿袭特性为 IT 分析师提供了工具,使他们能够获得针对整个企业的准确的沿袭和影响分析报告,并能够以一种清晰、一致的方式管理扩展映射。这些新的功能可以帮助 IT 组织减少过去几年由于不能充分理解其数据而导致的高额成本。

致谢

本文作者衷心感谢 Beate Porst、Brian Byrne、Ernie Ostic、Ilan Prager 和 Laurie Marr,他们为本文提供了宝贵的反馈并进行了审阅。


相关主题

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=478146
ArticleTitle=探究数据沿袭:全面了解您的数据流
publish-date=03292010