启用数据质量验证 - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

启用数据质量验证

您可以通过 IDs 在提示中同时提供源集群和目标集群来启用数据质量检查。系统在源集群上运行您的现有应用程序,以收集基准元数据进行比较。

注意:只能跟踪 Spark 写入操作的数据质量。

Upgrade my pyspark application <local-path>/pyspark-example-24/ from EMR version 6.0.0 to 7.12.0. Use EMR-EC2 Cluster <source-cluster-id> for source version run and <target-cluster-id> for target version run. Use s3 path s3://<please fill in your staging bucket path> to store updated application artifacts and s3://<please fill in your staging bucket path>/metadata for storing metadata. Enable data quality checks.

数据质量工作流程差异

该工作流程遵循与标准升级过程相同的步骤,但这些其他步骤按上述顺序排列:

  • [第 3 步之后:计划审查和定制]

    • 使用当前配置构建:使用当前配置构建应用程序以提交源集群。

    • 在源 EMR 集群上验证:在源 Spark 版本上运行原始应用程序,并收集输出元数据以进行基准比较。

  • [第 7 步之后:升级摘要] 数据质量摘要:版本和分析之间的数据质量比较报告。

数据质量不匹配能力目前包括:

  • 架构检查:检测列结构的变化:缺少或新添加的列、数据类型差异以及可空性更改。

  • 值检查(仅限数字和字符串列)

    • 比较最小值、最大值和平均值(仅限数字列的平均值)。

    • 对于字符串,最小值和最大值基于字典顺序。

  • 聚合统计检查:比较源输出和目标输出之间的总行数。

数据质量验证:范围和局限性

数据质量验证支持使用 spark-submit 命令执行 EMR EC2 步骤,Spark 版本大于等于 3.0,EMR 集群不能有 > 1。 StepConcurrencyLevel 数据质量验证会评估 Spark 查询计划数据接收器节点的统计信息(未捕获数据源/Transforms 的元数据),并涵盖常见的 Spark 写入操作,包括文件写入、数据库插入、表创建和各种数据源输出。