亚马逊云科技精选博客
我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
Ontraport 如何使用 亚马逊云科技 Glue 将数据处理成本降低80%
这篇文章是与来自Ontraport的以利亚·鲍尔合作撰写的。
客户正在在 亚马逊云科技 云中实施数据和分析工作负载以优化成本。在 亚马逊云科技 中实现数据处理工作负载时,您可以选择使用 A
像 Amazon EMR 这样的服务侧重于为您提供灵活性,使用您习惯的框架大规模支持数据处理工作负载。
像
在这篇文章中,我们将展示我们的亚马逊云科技客户Ontraport如何评估使用亚马逊云科技 Glue和Amazon EMR来降低总拥有成本,以及他们如何在只有一名全职开发人员的情况下将存储成本降低92%,将处理成本降低80%。
Ontraport 的工作负载和解决方案
日志处理和分析对于 Ontraport 至关重要。它使他们能够为客户提供更好的服务和见解,例如电子邮件活动优化。例如,仅电子邮件日志就记录了 Ontraport 每天代表客户发送的 1500-2,000 万封邮件中每条 3-4 个事件。通过分析与谷歌和微软等提供商的电子邮件交易,Ontraport的交付团队可以优化拥有大量联系人列表的客户的广告系列的打开率。
一些重要的日志贡献者是 Web 服务器和 CDN 事件、电子邮件交易记录以及 Ontraport 专有应用程序中的自定义事件日志。以下是他们每日日志贡献的详细示例:
Cloudflare request logs | 75 million records |
CloudFront request logs | 2 million records |
Nginx/Apache logs | 20 million records |
Email logs | 50 million records |
General server logs | 50 million records |
Ontraport app logs | 6 million records |
Ontraport的解决方案使用
- 不到 1 周 — OpenSearch 热门存储空间
- 在 1 周到 3 个月之间 — OpenSearch 冷库
- 3 个月以上 — 提取、转换和加载 (ETL) 在
亚马逊简单存储服务 (Amazon S3) 中处理,可通过亚马 逊 Athena 获得
下图显示了他们的日志处理和分析数据管道的架构。
评估最佳解决方案
为了优化他们在 Amazon S3 中的历史记录的存储和分析,Ontraport 实施了 ETL 流程,将 TSV 和 JSON 文件转换和压缩为 Parquet 文件,并按小时进行分区。压缩和转换帮助Ontraport将其S3存储成本降低了92%。
在第 1 阶段,Ontraport 使用亚马逊 EMR 实施了 ETL 工作负载。考虑到他们的数据规模(数千亿行),而且只有一个开发人员,Ontraport 首次尝试开发 Apache Spark 应用程序需要一个具有 r5.12xlarge 核心和任务节点的 16 节点 EMR 集群。该配置允许开发人员处理 1 年的数据,并使用 Spark ETL 应用程序的粗略版本最大限度地减少内存不足问题。
为了帮助优化工作负载,Ontraport 向 亚马逊云科技 寻求优化建议。有大量选项可以优化 Amazon EMR 中的工作负载,例如根据工作负载配置文件调整
使用 亚马逊云科技 Glue 处理此工作负载的一些初步好处包括:
- 亚马逊云科技 Glue 具有爬虫的概念,它提供了一种无代码方法来对数据源进行编目并识别来自多个数据源(在本例中为 Amazon S3)的架构。
- 亚马逊云科技 Glue 提供内置数据处理功能,在 Spark 之上使用抽象方法,减少了开发高效数据处理代码所需的开销。例如,亚马逊云科技 Glue 支持与
Spark DataF 类 ,该类在处理半结构化数据集时提供了额外的灵活性,并且可以快速转换为 Spark DataFrame。动态帧可以直接从爬网表生成,也可以直接从 Amazon S3 中的文件生成。rame 对应的 Dynamic Frame参见以下示例代码: ) - 它最大限度地减少了 Ontraport 调整实例类型大小和自动扩展配置的需求。
- 使用 亚马逊云科技 Glue Studio 交互式会话可以让 Ontraport 在检测历史日志架构演变时根据需要快速迭代。
Ontraport 必须处理 100 太字节的日志数据。使用初始配置处理每太字节的成本约为 500 美元。使用亚马逊云科技 Glue后,该成本降至每太字节约100美元。通过使用亚马逊云科技 Glue和亚马逊云科技 Glue Studio,Ontraport处理任务的成本降低了80%。
深入研究 亚马逊云科技 Glue 工作负载
Ontraport 的第一个 亚马逊云科技 Glue 应用程序是 PySpark 工作负载,它从亚马逊 S3 中的 TSV 和 JSON 文件中提取数据,对时间戳字段执行基本转换,并转换几个字段的数据类型。最后,它将输出数据作为压缩的 Parquet 文件写入到精选的 S3 存储桶中,大小约为 1 GB,并以 1 小时的间隔进行分区,以优化使用 Athena 的查询。
通过配置有 10 名 G.2x 类型工作人员的 亚马逊云科技 Glue 任务,Ontraport 能够在不到 60 分钟的时间内处理大约 5 亿条记录。在处理 100 亿条记录时,他们能够将作业配置增加到最多 100 名员工,启用自动扩展,从而在 1 小时内完成作业。
下一步是什么?
早在2018年,Ontraport就能够处理日志。该团队正在更新处理代码以适应架构演变场景(例如新字段),并对一些组件进行了参数化以完全自动化批处理。他们还希望微调预配置 亚马逊云科技 Glue 工作人员的数量,以获得最佳的性价比。
结论
在这篇文章中,我们向您展示了 Ontraport 如何使用 亚马逊云科技 Glue 在只有一名全职开发人员的情况下帮助减少开发开销并简化 ETL 工作负载的开发工作。尽管像 Amazon EMR 这样的服务提供了极大的灵活性和优化,但 亚马逊云科技 Glue 的易用性和简化通常为中小型企业提供更快的成本优化和创新途径。有关 亚马逊云科技 Glue 的更多信息,请查看
作者简介
Elijah Ball 在 Ontraport 担任系统管理员 已有 12 年了。他目前正在努力将Ontraport的生产工作负载转移到亚马逊云科技,并为Ontraport制定数据分析策略。
巴勃罗·雷东多 是亚马逊网络服务的首席解决方案架构师。他是一位数据爱好者,拥有超过 16 年的金融科技和医疗保健行业经验,并且是 亚马逊云科技 分析技术领域社区 (TFC) 的成员。Pablo 一直领导 亚马逊云科技 Gain Insights 计划,以帮助 亚马逊云科技 客户从其数据分析计划中获得更好的见解和切实的商业价值。
Vikram Honmurgi 是亚马逊网络服务的客户解决方案经理。Vikram 拥有超过 15 年的软件交付经验,热衷于为客户提供帮助,加速他们的云之旅,实现顺畅迁移,并确保我们的客户充分利用迁移到 亚马逊云科技 云的全部潜力和可持续业务优势。