DQS 知识库和域
本主题介绍 Data Quality Services (DQS) 中的知识库。 为了清理数据,您必须具有有关数据的知识。 为了准备数据质量项目的知识,您生成并维护一个 DQS 可用于标识不正确或无效数据的知识库 (KB)。 通过 DQS,您可以使用计算机辅助过程和交互式过程来创建、生成和更新知识库。 知识库中的知识在域中维护,每个域都是某个数据字段特有的。 知识库是有关数据的知识的存储库,通过它您可以了解自己的数据并维护其完整性。
DQS 知识库有以下优点:
生成有关数据的知识是一个细致的过程。 DQS 过程从样本数据自动提取有关数据的知识,易于使用。
使用 DQS,您可以查看数据分析结果,通过创建规则和更改数据值来增加知识库中的知识。 您可以在一段时间内反复这样做来改进知识。
您可以使知识库基于现有知识库、将文件中的域知识导入知识库、将项目中的知识导入回知识库或使用 DQS 默认知识库“DQS 数据”,从而利用已有的数据质量知识。
您可以通过将数据与引用数据访问接口维护的数据进行比较来确保数据的质量。
生成知识库和将知识库应用到数据更正过程是明显不同的过程,这样使您可以灵活决定如何生成和更新知识库。
数据专员使用 Data Quality Client 应用程序来执行和控制计算机辅助步骤,以及执行交互式步骤。
下图显示了 DQS 中知识库和域的各个组件:
如何创建和生成 DQS 知识库
生成 DQS 知识库涉及以下过程和组件:
知识发现
一个计算机辅助的过程,它通过处理数据样本将知识纳入知识库
域管理
一个交互式过程,数据专员使用它可以验证和修改知识库域中的知识,每个域都与某一数据字段关联。 这可以包含设置字段级属性、创建规则、更改特定值、使用 Reference Data Services 或设置基于字词或跨字段的关系。
Reference Data Services
一个域管理过程,使用它您可以针对引用数据访问接口所维护和保护的数据来验证您的数据。
匹配策略
一个定义 DQS 如何处理记录的策略,以便标识可能的重复项和不匹配项,该策略在计算机辅助过程和交互式过程中内置到知识库。
知识发现
知识库的创建最初是一个计算机指导的过程。 知识发现活动通过对数据样本进行分析以确定数据质量标准,查找数据不一致和语法错误并提出数据更改建议来生成知识库。 此分析基于 DQS 的内置算法。
数据专员将知识库链接到 SQL Server 数据库表或视图(其中包含与该知识库要用来分析的数据相似的样本数据),以此方式准备该过程。 数据专员随后将知识库域映射到要分析的样本数据中的每一列。 域可以是映射到单个字段的单一域,也可以是包含多个单一域的复合域,其中每个域都映射到单个字段中数据的某一部分(请参阅下文的“复合域”)。 在您运行知识发现时,DQS 会将数据质量信息从样本数据提取到知识库的域中。 运行知识发现分析后,您将具有一个知识库,可以使用它执行数据更正。
DQS 知识库是可扩展的。 在知识发现活动中,您可以在执行计算机辅助的知识发现分析后通过交互方式将知识添加到知识库。 您可以手动添加值更改,并从 Excel 文件导入域值。 此外,如果样本中的数据已更改,可以在以后再次运行知识发现过程。 可以在“域管理”活动和“数据匹配”活动中应用更多知识(请参阅下文)。
不需要对执行数据更正的数据执行知识发现过程。 DQS 提供灵活的功能,支持从一组数据库字段创建知识并将其应用到另一组需要清理的相关数据。 数据专员可以从头创建一个全新的知识库或基于现有知识库创建新知识库,也可以从数据文件导入知识库。 您还可以对现有知识库重新运行知识发现。 可以在单个数据质量服务器上维护多个知识库。 还可以将多个应用程序实例连接到同一知识库。 DQS 可以锁定知识库,使其仅供在知识管理会话中打开它的用户使用,从而防止并发冲突。
DQS 中不区分大小写
DQS 中的值不区分大小写。 这意味着当 DQS 执行知识发现、域管理或匹配时,它不区分值的大小写。 如果您在值管理系统中添加的值仅与另一个值在大小写上不同,系统将认为这是同一个值,而非同义词。 如果仅在大小写上有区别的两个值在匹配过程中进行比较,系统将认为这是完全匹配。
不过,您可以在清理结果中控制导出的值的大小写。 为此,可以将“格式输出设置为域”属性 (请参阅) 设置域属性,并在导出清理结果时使用“标准化输出检查”框 (请参阅使用 DQS (内部) 知识) 清理数据。
域管理
通过域管理,数据专员可以以交互方式更改和增加计算机辅助的知识发现活动生成的元数据。 您所做的每个更改针对某个知识库域。 在域管理活动中,可以执行以下操作:
创建新域。 新域可以链接到现有域或从现有域复制。
设置应用到域中每个字词的域属性。
应用对定义的一个值范围执行验证或标准化的域规则。
以交互方式将更改应用于域中的任何特定数据值。
使用 DQS 拼写检查器检查字符串值的语法、拼写和句子结构。
从 .dqs 数据文件导入域或从 Microsoft Excel 文件导入域值。
将数据质量项目中的清理过程找到的值导入回知识库。
将域附加到引用数据访问接口维护的引用数据,从而比较域值和引用数据以确定其完整性和正确性。 您还可以设置数据访问接口设置。
为单一域应用基于字词的关系。
完成域管理活动后,可以发布知识库以供在数据项目中使用。
设置域属性
域属性定义和驱动将应用于相关值的处理。 您可以设置值的数据类型和语言,指定将用前导值清理源数据(如果未选中该选项,将用正确的字词而不是前导词来清理源数据),通过配置在输出域中的数据值时将应用的格式来确保数据标准化,以及定义将应用的算法(语法错误、拼写检查器和字符串规范化)。
Reference Data Services
在域管理过程中,您可以将在线引用数据附加到某个域。 这涉及您如何将域中的数据与引用数据访问接口所维护的数据进行比较。 必须先通过 Data Quality Client 应用程序的“管理”部分中的 DQS 配置功能配置引用数据提供程序。 有关详细信息,请参阅 Reference Data Services in DQS。
应用域规则
您可以创建用于数据验证的域规则。 域规则确保数据的准确性,从基本约束(如字符串值可能接受的字词)到更复杂的正则表达式(如电子邮件地址的有效格式)均要符合验证规则的要求。
对于复合域,您可以创建一个 CD 规则,该规则指定一个域中的值与另一个域中的值之间的关系,这两个域都是复合域的一部分。
设置域值
在生成知识库后,可以在知识库的每个域中填充并显示数据值。 执行知识发现后,DQS 将显示每个字词出现的次数、每个字词的状态以及建议进行的所有更正。 可以按以下方式管理此知识:
更改值的状态,使它正确、错误或无效
将特定值添加到知识库,或从知识库删除特定值
更改一个值与另一个值的关系,包括指定错误或无效字词的替换字词
添加、删除或更改与域关联的知识。
值可以由用户专门创建,或作为数据发现或导入功能的一部分来创建。 这使您可以针对业务要求调整域,使其易于扩展。
可以在域管理活动中设置域值,或在知识发现活动末尾的“管理域值”步骤中设置域值。 两个活动中的域值功能是相同的。
设置字词关系
在域管理活动中,您可以为单一域指定基于词的关系,指定对单个值的更改。
复合域
复合域是包含两个或更多域的结构,其中每个域包含通用数据的知识。 可通过复合域寻址的数据示例包括名称字段中的第一个、中间和家族名称,以及地址字段中的门牌号和街道、城市、州、邮政编码和国家/地区。 将单个字段映射到复合域时,DQS 将一个字段的数据分析到构成复合域的多个域中。
有时单一域并不能完全表示字段数据。 通过将复合域中的两个或更多域分组,您可以更高效地表示数据。 使用复合域的优点如下:
分析构成复合域的不同单一域可能是更高效评估数据质量的一种方法。
使用复合域时,还可以创建跨域规则,以便验证多个域中数据之间的关系是否合适。 例如,可以验证城市域中的字符串“London”是否对应于国家/地区域中的字符串“England”。 请注意,跨域规则在域规则之后被考虑在内。
复合域中的数据可以附加到引用数据源,这种情况下会将复合域发送到引用数据访问接口。 通常对地址数据这样做。
如何分析复合域所表示的数据由复合域属性决定。 可以通过分隔符、域的顺序或者基于附加到复合域的域中的知识(通过在复合域中选择 “使用基于知识的分析” 属性),对数据进行分析。 有关详细信息,请参阅 Set Composite Domain Properties。
复合域的管理不同于单一域的管理。 不能管理复合域中的值,只能管理构成复合域的单一域的值。 但是,从域管理活动的域列表中,您可以查看复合域中不同值之间的关系以及应用到它们的统计信息。 例如,您可以查看包含相同五个字符串值的单个地址有多少个实例。 在知识发现活动的“发现”步骤中,在构成复合域的单一域上(而非在复合域上)执行事件探查。 但是,在交互式清理中,您是在复合域而非单一域中清理数据。
可以在构成复合域的单一域上执行匹配,但是不在复合域本身上执行匹配。
数据匹配
除了通过域管理对知识库进行手动更改外,您还可以将匹配知识添加到知识库。 若要准备将 DQS 用于数据消除重复过程,您必须创建 DQS 将用于计算匹配概率的匹配策略。 该策略包含一个或多个匹配规则,数据专员创建这些规则来标识 DQS 应如何比较数据行。 数据专员确定应比较行中的哪些数据字段,以及在比较中每个字段的权重是多少。 数据专员也确定多高的概率应被视为匹配。 DQS 将匹配规则添加到知识库,以供在数据质量项目中执行匹配活动时使用。
有关知识库和数据匹配的详细信息,请参阅 数据匹配上维护多个知识库。
本节内容
您可以对知识库和它的域执行以下操作:
创建、打开知识库,将知识添加到知识库,以及对知识库执行发现 | 生成知识库 |
对域和知识库执行导入和导出操作 | 导入和导出知识 |
创建单一域、域规则、基于字词的关系,以及更改域值 | 管理域 |
创建复合域、创建跨域规则,以及使用值关系 | 管理复合域 |
使用内置到 DQS 中的“DQS 数据”默认知识库 | 使用 DQS 默认知识库 |