此 AWS 解决方案实施有何用途?

此解决方案提供声明性数据处理支持、无代码提取转换加载(ETL)功能和工作流编排自动化,可帮助业务用户(例如分析师和数据科学家)访问其数据并创建有意义的洞察,而无需手动 IT 流程。

优势

在 Jupyter 中构建、测试和调试 ETL 任务

使用 JupyterHub 这种基于 Web 的交互式集成开发环境(IDE)来简化 ETL 应用程序开发。

采用 SQL 优先的方法

使用 Spark SQL 在 ETL 管道开发中实施业务逻辑和数据质量检查。

无代码编排任务

使用 Argo 工作流来进行任务计划以及管理复杂的任务依赖项,但无需编写代码。

自动部署 Docker 镜像

设置一个 AWS 持续改进持续开发(CI/CD)管道,以在 Amazon Elastic Container Registry(Amazon ECR)中安全地存储数据框架 Docker 镜像。

AWS 解决方案实施概览

下图显示了您可以使用此解决方案的实施指南以及随附的 AWS CloudFormation 模板自动部署的架构。

SQL-Based ETL with Apache Spark on Amazon EKS | 架构图
 单击放大

SQL-Based ETL with Apache Spark on Amazon EKS 解决方案实施架构

AWS CloudFormation 模板会部署一个安全、容错且可自动伸缩的环境来支持您的 ETL 工作负载,它包含下列组件:

  1. 一个可自定义且灵活的工作流管理层(参见图中 Amazon Elastic Kubernetes Service(Amazon EKS)上的编排组),包括 Argo Workflows 插件。此插件提供了一个基于 Web 的工具,无需编写代码即可完成 ETL 任务的编排。您也可以使用其他工作流工具,例如 VolcanoApache Airflow
  2. 配置了一个安全的数据处理工作区,以将数据工作负载统一在同一个 Amazon EKS 集群中。此工作组包含第二个基于 Web 的工具 JupyterHub,用于完成交互式的任务构建和测试。您可以使用声明性的方法开发 Jupyter 笔记本来指定 ETL 任务,也可使用 PySpark 以编程方式编写 ETL 步骤。此工作区还提供了可通过 Argo Workflows 工具来进行管理的 Spark 任务自动化功能。
  3. 此解决方案中部署了多项安全功能。Amazon Elastic Container Registry(Amazon ECR)负责保存和保护数据处理框架 Docker 镜像。Amazon EKS 上的 AWS Identity and Access Management(IAM)服务账户角色(IRSA)功能提供令牌授权功能,可以对其他 AWS 服务实施精细访问控制。例如,Amazon EKS 与 Amazon Athena 集成后不再需要密码,减少了在连接字符串中暴露 AWS 凭证的风险。Jupyter 会从 AWS Secrets Manager 中获取登录凭证并快速传输到 Amazon EKS。Amazon CloudWatch 使用激活的 CloudWatch Container Insights 功能来监控 Amazon EKS 上的应用程序。
  4. Amazon EKS 集群上的分析工作负载将数据结果输出到一个 Amazon Simple Storage Service(Amazon S3)数据湖中。通过Amazon Athena 在一个 AWS Glue 数据目录中创建一个数据 Schema 条目(元数据)。

SQL-Based ETL with Apache Spark on Amazon EKS

版本 1.0.0
发布日期:2021 年 7 月
作者:AWS

预计部署时间:30 分钟

估计费用 源代码  CloudFormation 模板 
使用下面的按钮订阅此解决方案实施的更新。
注意:要订阅 RSS 更新,您必须为您正在使用的浏览器启用 RSS 插件。
此解决方案实施对您有帮助吗?
提供反馈 
构建图标
自己部署解决方案

浏览我们的 AWS 解决方案实施库,以获取常见架构问题的答案。

了解更多 
查找 APN 合作伙伴
查找 APN 合作伙伴

寻找 AWS 认证的咨询和技术合作伙伴,以帮助您入门。

了解更多 
探索图标
了解解决方案咨询服务

浏览我们的咨询服务组合,以获取经过 AWS 审查的解决方案部署帮助。

了解更多