注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
数据期望是在数据集输入或输出上通过代码定义的一组要求。这些要求,或称为“期望”,可以用于创建检查,以提高数据管道的稳定性。如果数据期望检查在数据集搭建的一部分中失败,搭建可以自动中止,以节省时间和资源,并避免下游数据中的问题。数据期望与数据健康集成以进行监控。
通过查看Python Transforms文档中的指南或查看所有可用期望的参考来开始。
数据期望在相关代码库中的数据集变换上定义。检查可以应用于变换的输入和输出(详情见指南)。检查名称在单个变换中必须唯一。
在期望的同时,检查定义了搭建时如何处理失败。当检查失败时,搭建可以中止或以警告继续。
检查在相关分支的CI中注册。在受保护分支上更改期望将需要拉取请求,就像任何其他代码更改一样。
在对受保护分支进行更改时,建议在开发分支上搭建数据集,以确保在将更改合并到默认分支之前满足您的数据期望。
注册的检查将作为搭建任务的一部分运行。未满足数据期望的失败将在搭建应用程序和数据集历史标签中突出显示。如果检查定义指示在出错时失败,任务状态将更改为“中止”并出现相应出错。在任务时间轴中,您可以找到“期望”指示器;点击该指示器将显示检查结果及不同期望的细分。
当前置条件失败时,变换的输出将被中止(而不是前置条件定义的输入)。要中止输入数据集的搭建,数据期望必须在输入数据集变换上定义为后置条件。
每次检查运行都会产生一个结果,报告给数据健康。最新的数据期望结果将在数据集预览应用程序的健康标签中呈现,其中可以设置通知和问题触发(类似于其他数据健康检查)。
请记住,数据集上的检查通过其名称唯一标识。检查的历史以及其各自的监控设置将仅在名称不更改的情况下保留。更改检查的名称相当于删除旧检查并在其位置创建一个新检查。
所有检查都在完整数据集上运行,无论变换的增量特性如何。
例如,假设我们在以增量运行的变换输出上有一个主键检查。由于数据期望检查始终在完整数据集上运行,如果在新事务中包含了一个新的主键(即将增量写入)并且相同的主键已经被写入(在之前的事务中),检查将失败。