- AWS 解决方案库›
- Amazon EKS 上基于 SQL 的 ETL 及 Apache Spark 的指南
Amazon EKS 上基于 SQL 的 ETL 及 Apache Spark 的指南
借助可扩展的企业级提取、转换、加载(ETL)解决方案,解锁高效的数据工作流程并更快获得见解
概览
本指南有助于处理数据消费需求与常见 ETL 实践执行的低级数据处理活动之间的差距。对于使用基于 SQL 的数据管理系统的组织来说,适应现代数据工程实践可能会拖慢从数据中获取强大见解的进度。本指南提供了一种质量认知设计,通过开源数据框架 Arc 实现以用户为中心的 ETL 方法,从而提高数据处理效率。该指南加速了与 ETL 实践的交互,简化了流程并提高了抽象级别,从而统一批处理和流处理中的 ETL 活动。
我们还提供使用高效计算实例(例如 AWS Graviton 处理器)进行优化设计的选项,使您能够优化在 Amazon EKS 上大规模运行 ETL 任务的性能和成本。
工作原理
该架构图加速了在亚马逊 EKS 上使用 Apache Spark 进行数据处理。
Well-Architected 支柱
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
在亚马逊 EKS 集群中,亚马逊弹性计算云(亚马逊 EC2)实例(X86_64 CPU、Graviton ARM64)充当计算节点,运行 Graviton 工作负载。Spark 任务根据工作负载需求在弹性配置的 Amazon EC2 竞价型实例上执行。CodeBuild 和 CodePipeline 自动执行 GitOps 流程,从 Git 代码更新中构建容器镜像,并将其推送到亚马逊 EC R 私有注册表。Argo Workflows 在 Amazon EKS 上调度 ETL 作业,自动从 Amazon ECR 拉取 Arc Docker 映像,从构件 S3 存储桶下载 ETL 资产,并将应用程序日志发送到 CloudWatch。这种数据 ETL 作业的自动化部署和执行最大限度地减少了运营开销并提高了生产力。此外,使用CodeB uild和Code Pipeline的CI/CD 管道有助于确保持续改进和开发,同时将指南的Arc Docker镜像安全地存储在亚马逊ECR中。
亚马逊 EKS 集群资源部署在亚马逊 VPC 内,提供与公共互联网的逻辑网络隔离。A@@ mazon VP C 支持安全功能,例如 VPC 终端节点(将流量保持在 AWS 网络内)、安全组、网络访问控制列表 (ACL) 以及用于控制入站和出站流量和授权的 AWS 身份和访问管理 (IAM) 角色和策略。Amazon ECR 映像注册表提供容器级安全功能,例如漏洞扫描。亚马逊 ECR 和亚马逊 EKS 遵循开放容器倡议 (OCI) 注册表和 Kubernetes API 标准,纳入了严格的安全协议。IAM 为 A mazon S3 应用程序数据提供访问控制,而 AWS 密钥管理服务 (AWS KMS) 则对亚马逊 S3 上的静态数据进行加密。A mazon EKS 集群上的服务账户的 IAM 角色 (IRSA) 支持对 pod 进行精细的访问控制,强制执行基于角色的访问控制并限制未经授权的 Amazon S3 数据访问。密钥管理器安全地存储和管理凭证。CloudFront 为 Jupyter 和 Argo Workflows 网络工具提供 SSL 编码的安全入口点。
Amazon EKS 通过跨多个可用区(AZ)部署 Kubernetes 控制面板和计算面板来实现高度可用的拓扑。这有助于确保数据应用程序的持续可用性(即使可用区出现中断),从而在 Amazon EKS 上可靠地部署多可用区 EC2 实例。在数据存储方面,Amazon S3 提供高耐久性和可用性,可自动在一个区域内的多个可用区复制数据对象。此外,Amazon ECR 在高度可用且可扩展的架构中托管 Docker 映像,可靠地支持基于容器的应用程序部署和增量。Amazon S3、Amazon EKS 和 Amazon ECR 是完全托管的服务,专为高服务等级协议(SLA)而设计,同时具有较低的运营成本。它们支持部署关键业务应用程序以满足高可用性要求。
Amazon EKS 集群的 Amazon EC2 计算节点可以根据应用程序工作负载动态扩展和缩减。基于 Graviton 的 EC2 实例通过定制设计的基于 Arm 的处理器、优化的硬件和架构增强来提高性能效率。解耦的计算存储模式(输入和输出数据存储在 Amazon S3 中)可增强动态计算扩展效率。数据目录简化了元数据管理,与 Athena 无缝集成,以简化元数据管理和增强查询性能。Data Catalog 可自动抓取和维护技术元数据,以实现高效的数据处理和查询。Athena 无需移动即可快速查询 Amazon S3 数据,进一步提高了分析工作流程的效率。
Amazon ECR 是一项托管服务,用于保护和支持容器应用程序,对存储和提供容器映像收取固定的月费。Amazon EKS 集群计算节点可以根据 Spark 工作负载向上和向下扩展,提供经济高效的 Graviton 和 Spot 实例类型。Data Catalog 提供了无服务器、完全托管的元数据存储库,无需设置和维护长期运行的元数据数据库,减少了运营开销和成本。CodeBuild 和 CodePipeline 在无服务器环境中自动构建和部署 Arc ETL 框架的 Docker 映像,不仅可以降低基础设施维护成本,而且无需配置和管理构建服务器。
本指南运行基于 Gravit on处理器的具有高效计算类型的亚马逊 EKS 集群。Amazon ECR 消除了对自定义硬件或物理服务器管理的需求。Data Catalog 和 Athena 是无服务器服务,可进一步减少能源和环境影响。针对大规模 Apache Spark 工作负载优化 Amazon EKS 计算层可最大限度地减少分析工作负载对环境的影响。您可以根据性能需求和可持续发展优先事项灵活选择基于 Arm 的处理器。
实施资源
免责声明
找到今天要查找的内容了吗?
请提供您的意见,以便我们改进网页内容的质量。