1980年我的第二份专业编程工作中,正在做一个分析来自美国多个州的驾驶执照数据的项目。当时,该类型的数据通常存储在固定长度的记录中,在每个字段中仔细(或不谨慎)地对值进行编码。尽管我们得到了数据架构,但总是会发现开发人员必须使用一些方式来表示事先没有预料到的值。例如,为患有**异色症**(不同颜色眼睛)的人编码。
异色症:
https\://en.wikipedia.org/wiki/Heterochromia_iridum
由于缺乏数据或数据质量,同时为了确保我们处理的是已知数据,最终在实际运行时,耗费大量的时间对之前的数据进行全面的扫描。
亚马逊云科技让您可以更轻松地构建任何规模的**数据湖**和**数据仓库**,我们希望让用户在使用的过程中能够更轻松地衡量和保持所提取、处理和共享数据的目标质量。
数据湖:
https\://aws.amazon.com/big-data/datalakes-and-analytics/what-is-a-data-lake/
数据仓库:
https\://aws.amazon.com/data-warehouse/
# **Amazon Glue Data Quality 介绍**
今天我想向大家介绍一下**Amazon Glue Data Quality**,这是一套适用于 **Amazon Glue** 的新功能,我们将以预览的形式推出。可以分析您的表格并根据发现的内容自动推荐一组规则。如有必要,**可以微调**这些规则,**也可以自己编写规则**。在这篇文章中,我会向大家展示一些亮点,当这些功能从预览版发展到正式发布时,我将保存详细信息以供整篇文章使用。
Amazon Glue:
https\://aws.amazon.com/glue/
每条数据质量规则都引用 Glue 表或 Glue 表中的选定列,并检查特定类型的属性:及时性、准确性、完整性等。例如,规则可以指示表必须具有预期的列数,列名与所需的模式相匹配,以及特定列可用作主键。
# **入门指南**
***Step 01***
先在其中一个 Glue 表格上打开新的 Data quality(数据质量)选项卡来始使用。可以手动创建规则集,也可以单击 Recommend ruleset(推荐规则集)开始使用。
![image.png](https://dev-media.amazoncloud.cn/4ac210a25d0a4f7f9443fe8cba1fe2a2_image.png "image.png")
***Step 02***
然后,在规则集(RS1)中输入一个名称,选择一个有权访问 IAM 角色,然后单击 Recommend ruleset(推荐规则集)。
![image.png](https://dev-media.amazoncloud.cn/4604d5831e0d4dbe9f94fb0a73772679_image.png "image.png")
***Step 03***
点击启动 Glue 推荐任务(一种特殊类型的 Glue 作业),系统会扫描数据并提出建议。任务运行完成后,可以进行检查。
![image.png](https://dev-media.amazoncloud.cn/3a8cb32450cd4495a5989051c6359b97_image.png "image.png")
***Step 04***
单击 Evaluate ruleset(评估规则集)来检查数据质量。
![image.png](https://dev-media.amazoncloud.cn/8c75dd769ec24338b62f78b551d770c2_image.png "image.png")
***Step 05***
数据质量任务正在运行,可以检查数据结果。
![image.png](https://dev-media.amazoncloud.cn/3a888c0262eb4b3f80fa9c12ac8e1a51_image.png "image.png")
除了创建附加到表格的规则集外,还可以将其用作 **Glue 作业的一部分**。照常创建任务,然后添加一个 Evaluate Data Quality(评估数据质量)节点。
![image.png](https://dev-media.amazoncloud.cn/67b8f70562984cfe8a3e65ae2f076b5a_image.png "image.png")
然后使用数据质量定义语言(DDQL)生成器来创建我的规则。我可以在20种不同的规则类型之间进行选择。
![image.png](https://dev-media.amazoncloud.cn/21db7aa936a54a0e8c5d1d1e5888c65b_image.png "image.png")
在这篇文章中,将这些规则设置得更为严格,这样就可以展示当数据质量评估失败时会发生的情况。
通过设置作业选项,选择原始数据或数据质量结果作为转换的输出。也可以将数据质量结果写入 S3 存储桶。
![image.png](https://dev-media.amazoncloud.cn/96938f267a034d62a40cd6b2deddd07e_image.png "image.png")
创建规则集后,为作业设置了任何其他所需的选项、保存,然后运行。作业完成后,我可以在 “数据质量” 选项卡中找到结果。由于制定了严格的规则,所以评估将数据标记为0%。
![image.png](https://dev-media.amazoncloud.cn/6077e4a31b1f48abb6d9259954e86601_image.png "image.png")
关于 Amazon Glue 还有很多更新的内容,我们后面再做分享!