动态覆盖测试的步骤

Unlocking the Potential of Data at Australia Data Forum
Post Reply
rumana777
Posts: 186
Joined: Thu Dec 26, 2024 3:58 am

动态覆盖测试的步骤

Post by rumana777 »

在我们生成规则(在《远大前程》中称为期望)之后,我们可以运行测试管道,它包含以下步骤:

将我们要抓取的 URL 加入队列

解析
使用 Great Expectations 验证已解析的文档
这样,我们就可以检查我们无法控制的配置文件的数 电话号码库 据质量。动态覆盖测试是我们数据质量保证流程中最重要的测试,因为它们会检查从抓取到解析的整个流程,并验证我们无法控制的配置文件的数据质量。这就是为什么我们会按计划为每个目标运行动态覆盖测试。

然而,从头开始实施动态覆盖测试可能具有挑战性,因为它需要一些有关 Great Expectations 和 Dagster 的知识。这就是为什么我们准备了一个演示项目来展示如何使用 Great Expectations 和 Dagster 来实现自动化数据质量检查。

实施自动数据质量检查
在这个 Gitlab 仓库中,你可以找到一个如何使用 Dagster 和 Great Expectations 测试数据质量的演示。动态覆盖率测试图有更多的步骤,例如 seed_urls、scrape、parse 等,但为了简单起见,在这个演示中省略了一些操作。然而,它包含了动态覆盖率测试中最重要的部分——数据质量验证。演示图由以下操作组成:

load_items: 从文件加载数据并将其加载为 JSON 对象。
load_structure: 从文件加载数据结构。
get_flat_items:  使数据平坦化。
load_dfs:使用来自 load_structure 操作的结构将数据加载为 Spark DataFrames。
ge_validation:对每个 DataFrame 执行 Great Expectations 验证。
post_ge_validation:检查 Great Expectations 验证是否通过或失败。
质量测试演示图
虽然有些操作是不言自明的,但让我们来研究一下可能需要进一步详细说明的一些操作。

生成结构
load_structure 操作本身并不复杂。然而,重要的是结构的类型。它表示为 Spark 模式,因为我们将使用它来将数据加载为 Spark DataFrames,因为 Great Expectations 可以与它​​们配合使用。Pydantic 模型中的每个嵌套对象都将表示为单独的 Spark 模式,因为 Great Expectations 不能很好地处理嵌套数据。

例如,像这样的 Pydantic 模型:
Post Reply