数据剖析任务设置

适用于:SQL ServerAzure 数据工厂中的 SSIS 集成运行时

在查看源数据的概况之前,第一步是设置并运行数据剖析任务。 在 Integration Services 包内创建此任务。 若要配置数据事件探查任务,可以使用数据事件探查任务编辑器。 使用此编辑器,可以选择输出配置文件的位置以及要计算哪些配置文件。 设置此任务后,可以运行包来计算数据配置文件。

要求和限制

数据剖析任务仅适用于存储在 SQL Server 中的数据。 它不适用于第三方或基于文件的数据源。

此外,若要运行包含数据事件探查任务的包,必须使用对 tempdb 数据库具有读/写权限(包括 CREATE TABLE 权限)的帐户。

包中的数据事件探查任务

数据分析任务仅配置分析设置,并创建包含计算所得分析结果的输出文件。 若要查看此输出文件,必须使用数据配置文件查看器,它是一个独立的查看器程序。 因为必须单独查看输出,所以可以在不包含任何其他任务的包中使用数据剖析任务。

但是,您不必将“数据分析”任务作为包中的唯一任务。 如果您想要在较复杂包的工作流或数据流中执行数据探查,可以选择以下方法:

  • 若要在包的控制流中实现基于该任务的输出文件的条件逻辑,请将脚本任务放置在数据事件探查任务之后。 然后可以使用此脚本任务查询输出文件。

  • 若要在数据加载并转换完成后对数据流中的数据进行数据剖析,则必须先将更改后的数据临时保存到 SQL Server 表中。 然后,您可以分析已保存的数据。

有关更多信息,请参阅 将数据分析任务纳入包工作流

任务输出设置

在将数据事件探查任务放置到包中之后,必须设置任务将计算的配置文件的输出。 若要设置配置文件的输出,可以使用数据事件探查任务编辑器的 “常规” 页。 除了指定输出目标外,“常规”页面还可让您对数据执行快速分析。 选择 快速分析 时,数据分析任务会使用部分或全部默认分析配置及其默认设置对表或视图进行分析。

有关详细信息,请参阅数据探查任务编辑器(“常规”页)单表快速分析窗体(数据探查任务)

重要

输出文件可能包含有关数据库的敏感数据和数据库所包含的数据。 有关如何使此文件更加安全的建议,请参阅 对包使用的文件的访问

选择和配置要计算的配置文件

设置输出文件后,必须选择要计算的数据配置文件。 数据剖析任务可以生成八种不同的数据剖析结果。 其中的 5 个配置文件分析单列,其余的 3 个则分析多列或列和表之间的关系。 在单个数据事件探查任务中,可以为多列或多个表或视图中的列组合计算多个配置文件。

下表说明了这些配置文件中的每一个会生成哪些报告,以及各配置文件适用于哪些数据类型。

计算对象 帮助标识 使用此配置文件
所选列中字符串值的所有不同长度和每个长度表示的行在表中的百分比。 无效的字符串值 - 例如,如果对某列进行事件探查,假定该列使用两个字符来表示美国的州代码,但发现它的值长于两个字符。 列长度分布 - 对具有下列其中一种字符数据类型的列有效:

char

nchar

varchar

nvarchar
一组正则表达式,涵盖字符串列中指定的百分比值。

还可以查找将来可用于验证新值的正则表达式
无效或格式不正确的字符串值 - 例如,邮政编码列的模式配置文件可能会生成正则表达式:\d{5}-\d{4}、\d{5} 和 \d{9}。 如果输出中包含其他正则表达式,则数据包含的值可能无效或者格式不正确。 列模式分析配置 -适用于具有以下某一种字符数据类型的列:

char

nchar

varchar

nvarchar
所选列中 null 值的百分比。 列中空值占比异常偏高-例如,你分析一个理应包含美国邮政编码的列,却发现缺失邮政编码的比例高得令人无法接受。 列空值比率-对具有下列其中一种数据类型的列有效:

图像

text

xml

用户定义类型

变量类型
数值列的最小值、最大值、平均值和标准偏差等统计信息,以及 datetime 列的最小值和最大值。 无效的数值和日期 - 例如,在对包含历史日期的列进行事件探查时发现,最大日期是一个将来的日期。 列统计信息概要文件-适用于具有以下数据类型之一的列。

数字数据类型:

整数类型(除了 bit

money

smallmoney

十进制

float

真实

numeric

日期和时间数据类型:

datetime

smalldatetime

timestamp

date

time

datetime2

datetimeoffset

请注意:对于具有日期和时间数据类型的列,配置文件仅计算最小值和最大值。
所选列中的所有不同值,以及表中每个值所对应的行所占的百分比。 或者表示大于表中指定百分比的值。 列中的不同值数量不正确-例如,你分析一个包含美国各州的列,但发现其中有超过 50 个不同值。 列值分布 - 对具有下列其中一种的列有效。

数字数据类型:

整数类型(除了 bit

money

smallmoney

十进制

float

真实

numeric

字符数据类型:

char

nchar

varchar

nvarchar

日期和时间数据类型:

datetime

smalldatetime

timestamp

date

time

datetime2

datetimeoffset
某一列或某组列是否为所选表的键或近似键。 潜在键列中的重复值 - 例如,你对 Customers 表中的 Name 和 Address 列进行分析时,发现本应唯一的名称和地址组合存在重复值。 候选键 - 多列配置文件,它报告列或者一组列是否适合用作所选表的键。 对具有下列其中一种数据类型的列有效。

整数数据类型:

bit

tinyint

smallint

int

bigint

字符数据类型:

char

nchar

varchar

nvarchar

日期和时间数据类型:

datetime

smalldatetime

timestamp

date

time

datetime2

datetimeoffset
一列中的值(依赖列)在多大程度上取决于另一列或一组列中的值(决定列)。 依赖列中的无效值-例如,分析包含美国邮政编码的列与包含美国各州的列之间的依赖关系。 相同的邮政编码对应的州应始终相同。 但是,在配置文件中发现依赖关系冲突。 函数依赖关系 - 对具有下列其中一种数据类型的列有效。

整数数据类型:

bit

tinyint

smallint

int

bigint

字符数据类型:

char

nchar

varchar

nvarchar

日期和时间数据类型:

datetime

smalldatetime

timestamp

date

time

datetime2

datetimeoffset
某列或某组列是否适合作为所选表之间的外键。

即,此配置文件报告两列或两组列之间的重叠值。
无效值 - 例如,对 Sales 表的 ProductID 列进行事件探查。 分析结果发现,该列包含的一些值在 Products 表的 ProductID 列中找不到。 值包含 - 对具有以下数据类型的列有效:

整数数据类型:

bit

tinyint

smallint

int

bigint

字符数据类型:

char

nchar

varchar

nvarchar

日期和时间数据类型:

datetime

smalldatetime

timestamp

date

time

datetime2

datetimeoffset

若要选择要计算的配置文件,可使用数据事件探查任务编辑器的 “配置文件请求” 页。 有关详细信息,请参阅数据分析任务编辑器(“配置文件请求”页)

“配置文件请求” 页中,还可以指定数据源并配置数据配置文件。 配置任务时,请考虑以下信息:

  • 若要简化配置并能更轻松地发现陌生数据的特征,可以使用通配符 (*) 代替单个列名。 如果使用此通配符,任务将分析每一列具有适当数据类型的列,从而可能减慢处理速度。

  • 当所选表或视图为空时,数据事件探查任务不会计算任何配置文件。

  • 当所选列中的所有值均为空值时,数据分析任务仅计算列空值比率分析结果。 它不计算列长度分布配置文件、列模式配置文件、列统计信息配置文件或空列的列值分布配置文件。

每个可用的数据配置文件都有自己的配置选项。 有关这些选项的详细信息,请参阅下面的主题:

执行包含数据事件探查任务的包

设置好数据剖析任务后,即可运行该任务。 此任务随后将计算数据配置文件并以 XML 格式将此信息输出到一个文件或包变量中。 此 XML 结构符合 DataProfile.xsd 架构。 可以在 Microsoft Visual Studio 或其他架构编辑器、XML 编辑器或记事本等文本编辑器中打开该架构。 此数据质量信息架构可用于以下目的:

  • 在单位内和跨单位交换数据质量信息。

  • 生成处理数据质量信息的自定义工具。

目标命名空间在架构中被标识为 https://schemas.microsoft.com/sqlserver/2008/DataDebugger/

下一步

数据配置文件查看器