企业每天收集越来越多的数据来推动决策、报告和机器学习 (ML) 等流程。 在清理和转换数据之前,您需要确定它是否适合使用。 不正确、缺失或格式错误的数据会对下游分析和 ML 流程产生重大影响。 执行数据质量检查有助于在您的工作流程中及早发现问题,以便您更快地解决这些问题。 此外,使用基于事件的架构进行这些检查可以帮助您减少手动接触点并随着数据量的增加进行扩展。
AWS Glue 数据酿造 是一种可视化数据准备工具,可以轻松查找数据质量统计信息,例如数据中的重复值、缺失值和异常值。 您还可以在 DataBrew 中设置数据质量规则,以根据您独特的业务需求执行条件检查。 例如,制造商可能需要确保没有重复值专门在 Part ID
列,或者医疗保健提供者可能会检查 SSN
列有一定的长度。 使用 DataBrew 创建并验证这些规则后,您可以使用 亚马逊EventBridge, AWS步骤功能, AWS Lambda及 亚马逊简单通知服务 (Amazon SNS) 创建自动化工作流程并在规则未通过验证检查时发送通知。
在这篇文章中,我们将引导您完成端到端工作流程以及如何实施此解决方案。 这篇文章包括一个分步教程,一个 AWS无服务器应用程序模型 (AWS SAM) 模板,以及可用于在您自己的 AWS 环境中部署应用程序的示例代码。
解决方案概述
这篇文章中的解决方案结合了 无服务器 AWS 服务用于构建完全自动化的端到端事件驱动管道,用于数据质量验证。 下图说明了我们的解决方案架构。
解决方案工作流程包含以下步骤:
- 当您将新数据上传到您的 亚马逊简单存储服务 (Amazon S3) 存储桶,事件被发送到 EventBridge。
- EventBridge 规则触发 Step Functions 状态机运行。
- 状态机启动 DataBrew 配置文件作业,配置了数据质量规则集和规则。 如果您正在考虑构建类似的解决方案,DataBrew 配置文件作业输出位置和源数据 S3 存储桶应该是唯一的。 这可以防止递归作业运行。 我们部署我们的资源 AWS CloudFormation 模板,它创建唯一的 S3 存储桶。
- Lambda 函数从 Amazon S3 读取数据质量结果,并将布尔响应返回到状态机。 函数返回
false
如果规则集中的一个或多个规则失败,则返回true
如果所有规则都成功。 - 如果布尔响应是
false
,状态机通过 Amazon SNS 发送电子邮件通知,状态机以failed
地位。 如果布尔响应是true
,状态机结束于succeed
地位。 您还可以在此步骤中扩展解决方案以在成功或失败时运行其他任务。 例如,如果所有规则都成功,您可以发送 EventBridge 消息以触发 DataBrew 中的另一个转换作业。
在这篇博文中,您将使用 AWS CloudFormation 部署一个功能齐全的事件驱动数据质量验证解决方案演示。 您通过将有效的逗号分隔值 (CSV) 文件上传到 Amazon S3 来测试解决方案,然后上传一个无效的 CSV 文件。
步骤如下:
- 启动 CloudFormation 堆栈以部署解决方案资源。
- 测试解决方案:
- 将有效的 CSV 文件上传到 Amazon S3 并观察数据质量验证和 Step Functions 状态机是否成功。
- 将无效的 CSV 文件上传到 Amazon S3 并观察数据质量验证和 Step Functions 状态机失败,并收到来自 Amazon SNS 的电子邮件通知。
所有示例代码都可以在 GitHub存储库.
先决条件
对于本演练,您应该具有以下先决条件:
使用 AWS CloudFormation 部署解决方案资源
您使用 CloudFormation 堆栈来部署事件驱动的数据质量验证解决方案所需的资源。 该堆栈包括 DataBrew 中的示例数据集和规则集。
- 登录您的 AWS 账户,然后选择 启动堆栈:
- 点击 快速创建堆栈 页面,用于 电子邮件地址,为 Amazon SNS 电子邮件通知输入有效的电子邮件地址。
- 将其余选项设置为默认值。
- 选中确认复选框。
- 创建堆栈。
CloudFormation 堆栈大约需要 5 分钟才能到达 CREATE_COMPLETE
状态。
- 检查您提供的电子邮件地址的收件箱并接受 SNS 订阅。
您需要查看并接受订阅确认,以便在演练结束时演示电子邮件通知功能。
点击 输出 在堆栈的选项卡中,您可以找到用于浏览模板创建的 DataBrew 和 Step Functions 资源的 URL。 另请注意您在后续步骤中使用的完整 AWS CLI 命令。
如果选择 AWSGlueDataBrewRuleset
value 链接,您应该会看到规则集详细信息页面,如下面的屏幕截图所示。 在本演练中,我们创建了一个数据质量规则集,其中包含三个检查缺失值、异常值和字符串长度的规则。
测试解决方案
在以下步骤中,您使用 AWS CLI 上传正确和错误版本的 CSV 文件,以测试事件驱动的数据质量验证解决方案。
- 打开终端或命令行提示符并使用 AWS CLI 下载示例数据。 使用 CloudFormation 堆栈输出中的命令和键名
CommandToDownloadTestData
: - 再次使用 AWS CLI 将未更改的 CSV 文件上传到您的 S3 存储桶。 替换字符串 使用您的存储桶名称,或复制并粘贴从 CloudFormation 模板输出中提供给您的命令:
- 在 Step Functions 控制台上,找到由 CloudFormation 模板创建的状态机。
您可以在前面提到的 CloudFormation 输出中找到一个 URL。
为了证明数据质量规则失败,您至少对 votes.csv
文件中。
- 在您喜欢的文本编辑器或电子表格工具中打开文件,然后只删除一个单元格。
在以下屏幕截图中,我在 Linux 上使用 GNU nano 编辑器。 您还可以使用电子表格编辑器删除单元格。 这会导致“检查所有列的缺失值”规则失败。
- 保存编辑的
votes.csv
文件并返回到您的命令提示符或终端。 - 使用 AWS CLI 将文件再次上传到您的 S3 存储桶。 您使用与以前相同的命令:
- 在 Step Functions 控制台上,导航到最新的状态机运行以对其进行监控。
数据质量验证失败,触发 SNS 电子邮件通知和整体状态机运行失败。
- 您可以通过选择
AWSGlueDataBrewProfileResults
CloudFormation 堆栈输出中的值。
清理
为避免产生未来费用,请删除资源。 在 AWS CloudFormation 控制台上,删除名为 AWSBigDataBlogDataBrewDQSample
.
结论
在这篇文章中,您学习了如何构建自动化的、事件驱动的数据质量验证管道。 使用 DataBrew,您可以为您的业务和技术要求定义数据质量规则、阈值和规则集。 Step Functions、EventBridge 和 Amazon SNS 允许您构建复杂的管道,并根据您的需求定制错误处理和警报。
您可以通过访问了解有关此解决方案和源代码的更多信息 GitHub存储库. 要了解有关 DataBrew 数据质量规则的更多信息,请访问 AWS Glue DataBrew 现在允许客户创建数据质量规则来定义和验证他们的业务需求 或参考 在 AWS Glue DataBrew 中验证数据质量.
作者简介
莱思·阿尔萨顿 是 Envision 工程团队的首席原型设计师。 他使用人工智能、机器学习、物联网和边缘计算、流分析、机器人技术和空间计算构建原型和解决方案,以解决现实世界的客户问题。 在空闲时间,Laith 喜欢户外活动,例如摄影、无人机飞行、远足和彩弹射击。
戈登·伯吉斯 是 AWS Glue DataBrew 的高级产品经理。 他热衷于帮助客户从他们的数据中发现洞察力,并专注于为分析产品构建用户体验和丰富的功能。 工作之余,Gordon 喜欢阅读、咖啡和组装电脑。
- '
- &
- 100
- 107
- 7
- 关于
- 账号管理
- 活动
- 地址
- AI
- 所有类型
- Amazon
- 分析
- 应用领域
- 架构
- 自动化
- AWS
- 建立
- 建筑物
- 商业
- 收费
- 支票
- 清洁
- 码
- 咖啡
- 柱
- 复杂
- 电脑
- 计算
- 安慰
- 合作伙伴
- data
- 数据质量
- 天
- 通过各种方式找到
- 无人驾驶飞机
- 边缘
- 边缘计算
- 编辑
- 邮箱地址
- 结束
- 工程师
- 环境
- 事件
- 例子
- 体验
- 失败
- 快
- 专栏
- 适合
- 机票
- 发现
- Free
- 功能
- 功能
- 未来
- 成长
- 处理
- 医疗保健
- 帮助
- 徒步旅行
- 创新中心
- How To
- HTTPS
- 鉴定
- 图片
- 实施
- 可行的洞见
- 调查
- 物联网
- 问题
- IT
- 工作
- 键
- 大
- 最新
- 学习用品
- 知道
- 学习
- Line
- 友情链接
- Linux的
- 圖書分館的位置
- 机器学习
- 生产厂家
- ML
- 更多
- 纳米
- 打印车票
- 通知
- 附加选项
- 秩序
- 其他名称
- 户外
- 摄影
- 校长
- 产品
- 热销产品
- 本人简介
- 原型
- 提供者
- 质量
- 阅读
- 减少
- 更换
- 岗位要求
- 资源
- 响应
- 成果
- 回报
- 检讨
- 机器人
- 定位、竞价/采购和分析/优化数字媒体采购,但算法只不过是解决问题的操作和规则。
- 运行
- 鳞片
- 无服务器
- 特色服务
- 集
- 类似
- 简易
- So
- 解决方案
- 解决
- 空间的
- 空间计算
- 特别是
- 电子表格
- 州/领地
- 统计
- Status
- 存储
- 流
- 订阅
- 成功
- 文案
- 终端
- test
- 通过
- 次
- 工具
- 转型
- 转型
- 教程
- 折扣值
- 查看
- 工作
- 工作流程