数据连接与集成数据健康Health checks检查参考

注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

检查参考

状态检查

计划状态

检查计划的最新构建是否成功或失败。

规则组件描述示例选项必填?
Severity检查失败的严重性Moderate, CriticalY
Escalate是否在连续失败后提升严重性Y, NN
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

计划状态检查代表始终一起搭建的数据管道或数据集集的状态。因此,它将提供有关创建或更新此最终数据集的各个步骤的状态。

构建状态

检查数据集的最新构建是否成功或失败。

规则组件描述示例选项必填?
Severity检查失败的严重性Moderate, CriticalY
Escalate是否在连续失败后提升严重性Y, NN
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

构建状态检查代表整个过程的状态,最终将搭建一个数据集。因此,它将提供有关创建或更新此最终数据集的各个步骤的状态。请注意,如果在过程中更新或创建的中间数据集也有一个构建状态健康检查,这些将不会被更新。然而,任务状态将会为所有这些中间数据集更新。

任务状态

检查数据集上最近的任务运行是否成功或失败。

规则组件描述示例选项必填?
Severity检查失败的严重性Moderate, CriticalY
Escalate是否在连续失败后提升严重性Y, NN
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

任务状态检查独立于导致数据集刷新或创建的构建触发。换句话说,无论有关的数据集是否是给定构建的最终输出,任务状态检查将会为每一个特定数据集的构建运行。

何时使用任务状态或构建状态检查

当数据集是构建的一个输出,并且您希望检查所有数据集的整个构建是否成功时,使用构建状态检查。当数据集是构建的中间数据集,并且您希望检查数据集是否更新,而不考虑构建中的其他数据集是否成功更新时,使用任务状态检查

如果数据集是构建的唯一输出,构建状态和任务状态将是等价的。如果数据集是中间数据集,或构建有多个输出,且数据集上的任务成功(或未运行),但构建中的其他任务失败并导致构建失败,则它们可能会有所不同。

同步状态

检查数据集到另一个数据库的最新同步是否成功或失败。

规则组件描述示例选项必填?
Sync destination要监测的数据集的同步,特别是当数据集同步到多个目标时的相关同步。phonograph2-cache-worker, jdbc-workerY
Severity检查失败的严重性Moderate, CriticalY
Escalate是否在连续失败后提升严重性Y, NN
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

时间检查

构建持续时间

检查构建完成的总时间是否达到某个阈值。

规则组件描述示例选项必填?
Build duration构建完成的总时间(以天、分钟或小时为单位)Between 1 and 2, Greater than or equal to 1, Less than or equal to 1, Equal to 1N
Median deviation与完成最近构建的中位时间的差异(以近似标准差为单位)1 Standard deviations, 10 Recent buildsN
Severity检查失败的严重性Moderate, CriticalY
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

对于构建状态检查,构建持续时间检查只会为构建的最终输出更新。作为较大构建的一部分且附加了构建持续时间检查的中间数据集将不会被更新。

数据新鲜度

检查数据集上最新事务的时间与时间戳列的最大值。如果列中的时间戳表示行被添加的时间,这可以用来衡量数据的新鲜度。

规则组件描述示例选项必填?
Column name包含最后更新时间的列的列名。LAST_UPDATEDY
Freshness range在此期间将列的最新数据视为“新鲜”的时间范围(以天、分钟或小时为单位)Between 1 and 2, Greater than or equal to 1, Less than or equal to 1, Equal to 1Y
Severity检查失败的严重性Moderate, CriticalY
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

同步持续时间

检查同步完成的总时间是否达到某个阈值。

规则组件描述示例选项必填?
Sync destination要监测的数据集的同步,特别是当数据集同步到多个目标时的相关同步。phonograph2-cache-worker, jdbc-workerY
Sync duration同步完成的总时间(以天、分钟或小时为单位)Between 1 and 2, Greater than or equal to 1, Less than or equal to 1, Equal to 1N
Median deviation与完成最近同步的中位时间的差异(以近似标准差为单位)1 Standard deviations, 10 Recent buildsN
Severity检查失败的严重性Moderate, CriticalY
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

同步新鲜度

检查数据集的最新同步时间与日期时间列的最大值。如果列中的时间戳表示行被添加的时间,这可以用来衡量数据的新鲜度。

规则组件描述示例选项必填?
Column name包含最后更新时间的列的列名。LAST_UPDATEDY
Freshness range在此期间将列的最新数据视为“新鲜”的时间范围(以天、分钟或小时为单位)Between 1 and 2, Greater than or equal to 1, Less than or equal to 1, Equal to 1Y
Severity检查失败的严重性Moderate, CriticalY
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

自上次更新以来的时间

检查数据集自更新以来的总时间(有新事务)是否达到某个阈值。

规则组件描述示例选项必填?
Last updated数据集自更新以来的总时间(以天、分钟或小时为单位)Between 1 and 2, Greater than or equal to 1, Less than or equal to 1, Equal to 1N
Median deviation与最近构建的中位更新时间的差异(以近似标准差为单位)1 Standard deviations, 10 Recent buildsN
Ignore empty transactions检查更新/中位数偏差时间时是否排除空事务。没有文件的事务将被忽略,就好像它们不存在一样。Y, NY
Severity检查失败的严重性Moderate, CriticalY
Schedule计划检查自动或手动运行Automatic, Custom ScheduleY
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

自上次同步更新以来的时间

检查数据集自上次同步到某个目标以来的总时间是否达到某个阈值。

规则组件描述示例选项必填?
Last Sync数据集自上次同步到某个目标以来的总时间(以天、分钟或小时为单位)Between 1 and 2, Greater than or equal to 1, Less than or equal to 1, Equal to 1N
Median deviation与最近构建的中位更新时间的差异(以近似标准差为单位)1 Standard deviations, 10 Recent buildsN
Severity检查失败的严重性Moderate, CriticalY
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

大小检查

数据集文件计数

检查数据集最新视图中的文件总数。

规则组件描述示例选项必填?
File count数据集最近视图中的文件总数Between 1 and 2, Greater than or equal to 1, Less than or equal to 1, Equal to 1Y
Severity检查失败的严重性Moderate, CriticalY
Median deviation与最近构建中的文件中位数的差异(以近似标准差为单位)1 Standard deviations, 10 Recent buildsN
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

数据集分区

检查数据集的分区是否高效。

规则组件描述示例选项必填?
Notes分区检查的工作原理如下:
- 如果总文件数少于50,则检查始终通过。
- 如果总文件数为50个或更多,则如果至少90%的文件大于96MB,则检查通过。

如果检查失败,则表示文件间数据的分区对性能来说不够理想,需要更好地进行数据分区。
无可配置选项N
Issues当此检查失败时自动创建一个问题Y, NN

行计数

检查数据集中的行总数。

规则组件描述示例选项必填?
Row count数据集中的行总数Between 500 and 1000, Greater than or equal to 100, Less than or equal to 1000, Equal to 10Y
Severity检查失败的严重性Moderate, CriticalY
Median deviation与最近构建中的行数中位数的差异(以近似标准差为单位)1 Standard deviations, 10 Recent buildsN
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

如果行计数检查是根据上一次成功检查的结果设置的,则检查将根据先前通过检查中记录的行数评估标准,并且不会考虑失败检查中的结果。

事务文件计数

检查在一个事务中提交的文件总数,不包括日志文件。

规则组件描述示例选项必填?
File size在一个事务中提交的文件总数Between 1 and 2, Greater than or equal to 1, Less than or equal to 1, Equal to 1N
Severity检查失败的严重性Moderate, CriticalY
Median deviation与最近构建中的文件数中位数的差异(以近似标准差为单位)1 Standard deviations, 10 Recent buildsN
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

事务文件大小

检查在一个事务中提交的文件总大小,不包括日志文件。

规则组件描述示例选项必填?
File size在一个事务中提交的所有文件的总大小(以MBKB为单位)Between 1 and 2, Greater than or equal to 1, Less than or equal to 1, Equal to 1N
Severity检查失败的严重性Moderate, CriticalY
Median deviation与最近构建中的文件大小中位数的差异(以近似标准差为单位)1 Standard deviations, 10 Recent buildsN
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

内容检查

允许的列值

检查列中的值是否与允许值列表匹配。

规则组件描述示例选项必填?
Column name要检查的列的列名FIRST_NAMEY
Allowed values上述列允许的可能值John, JaneY
Severity检查失败的严重性Moderate, CriticalY
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

近似唯一百分比

检查列中有多少百分比的值是唯一的。百分比是近似的。请注意,这意味着此检查不适用于检查列是否为主键(100%唯一值),请改用主键检查

规则组件描述示例选项必填?
Column name要检查的列的列名FIRST_NAMEY
Unique percentage列中唯一值的百分比(以%为单位)Between 10 and 20, Greater than or equal to 50, Less than or equal to 50, Equal to 1Y
Severity检查失败的严重性Moderate, CriticalY
Notes添加注释以提供额外的背景信息TextN
Issues当此检查失败时自动创建一个问题Y, NN

列正则表达式

检查列中的值是否匹配某个正则表达式。

规则组件描述示例选项必填?
列名要检查的列名FIRST_NAMEY
正则表达式列应匹配的正则表达式^Pre, post$, .*any.*Y
严重性检查失败的严重性Moderate, CriticalY
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

近似列关系(已弃用)

此检查提供两个列之间相似性的估计百分比。如需精确检查,请使用数据期望

规则组件描述示例选项必填?
其他数据集要检查的数据集/Users/John Appleseed/Stock_Prices_LatestY
列1名称设置检查的数据集的列名FIRST_NAMEY
列2名称其他数据集的列名f_nameY
百分比匹配两列必须匹配的程度(以%计)85% 的值相等Y
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

日期范围

检查日期列中的值范围。

规则组件描述示例选项必填?
列名要检查的列名LAST_UPDATEDY
允许的日期范围列的允许日期范围2017-01-01 – 2018-01-01Y
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

空值百分比

检查列中值为空的百分比。

规则组件描述示例选项必填?
列名要检查的列名CUSTOMER_IDY
空值百分比列中为空的值的百分比(以%计)12 之间,大于等于 1,小于等于 1,等于 1N
严重性检查失败的严重性Moderate, CriticalY
中位数偏差与最近搭建的中位数空值百分比的近似标准偏差差异1 标准偏差,10 最近搭建N
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

数值平均值

检查数值列的平均值是否满足某个阈值。

规则组件描述示例选项必填?
列名要检查的数值列名NUM_FAILURESY
平均值列的期望平均值12 之间,大于等于 1,小于等于 1,等于 1N
严重性检查失败的严重性Moderate, CriticalY
与上次检查的差异将列的当前平均值与上次检查运行时的列平均值进行比较,加上一个非必填常数大于上次检查 + 5N
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

数值中位数

检查数值列的中位数是否满足某个阈值。

规则组件描述示例选项必填?
列名要检查的数值列名NUM_FAILURESY
中位数列的期望中位数12 之间,大于等于 1,小于等于 1,等于 1N
严重性检查失败的严重性Moderate, CriticalY
与上次检查的差异将列的当前平均值与上次检查运行时的列平均值进行比较,加上一个非必填常数大于上次检查 + 5N
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

数值范围

检查数值列中的值范围。

规则组件描述示例选项必填?
列名要检查的数值列名NUM_FAILURESY
允许的范围列的允许范围3-5Y
严重性检查失败的严重性Moderate, CriticalY
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

主键

检查列中的值是否100%唯一且非空。

规则组件描述示例选项必填?
列名要检查的列名PART_IDY
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

模式检查

检查列的存在性和类型。

规则组件描述示例选项必填?
列名要检查的列名PART_IDY
是否存在检查列的存在性YY
类型列的类型IntegerY
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

列数

检查数据集中列的总数。

规则组件描述示例选项必填?
列数数据集中列的总数50Y
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

模式

检查数据集模式,验证模式是否符合所选的比较类型(请参阅下文以了解更多可用选项)。

规则组件描述示例选项必填?
列举数据集的列和类型 - 可以选择完全类型匹配或仅列存在类型: 字符串Y
比较类型指定将使用哪种比较策略文本Y
备注添加备注以提供附加上下文文本N
问题当此检查失败时自动创建问题Y, NN

可用的模式检查类型如下:

比较允许
EXACT_MATCH_ORDERED_COLUMNS检查列顺序、名称和类型,以及列的数量。
EXACT_MATCH_UNORDERED_COLUMNS检查列名称和类型,以及列的数量。顺序无关紧要。
COLUMN_ADDITIONS_ALLOWED检查列名称和类型。允许多余的列,但列不能缺失。
COLUMN_ADDITIONS_ALLOWED_STRICT类似于COLUMN_ADDITIONS_ALLOWED; 然而,每当一个新列被添加到数据集中时,该列会被添加到检查中。之后不能缺失添加的列。

近似标准偏差

由于数据集搭建容易出现异常值,我们不使用真实的标准偏差。相反,我们使用中位数绝对偏差(MAD),这是一种更稳健的变异性度量。

MAD定义为数据中位数的绝对偏差的中位数。对于值x_1, ..., x_n,其中位数为X,这意味着MAD = median(|x_i - X|)

可以通过乘以常数来使用中位数绝对偏差来近似标准偏差。

我们的计算是σ = MAD * 1.4826

有关详细信息,请参见中位数绝对偏差 - 维基百科 ↗