ITPub博客

首页 > 云计算 > 公有云实践 > 使用Athena上的Apache Spark加速ETL处理

使用Athena上的Apache Spark加速ETL处理

公有云实践 作者:出海新观点 时间:2025-07-09 16:56:31 0 删除 编辑


导读

正在为缓慢的提取、转换和加载(ETL)过程而苦恼,无法满足服务级别协议(SLA)要求?本次会议基于个人经验,讲述如何使用Amazon Athena上的Apache Spark将一个长时间运行的ETL作业从26小时优化至仅30分钟。通过真实案例和实际演示,参与者将学习有效的ETL性能优化策略。本次会议还将深入探讨使用亚马逊云科技 SDK for Python(Boto3)来确保Apache Spark作业生产就绪的使用方法、设计模式和最佳实践。

演讲精华

以下是小编为您整理的本次演讲的精华。

在数据工程和企业现代化的领域,一个广告媒体公司陷入了严重的数据管道性能问题。Elliott Cordo是一位亚马逊云科技数据英雄和精品数据咨询公司Data Futures的创始人,他带领我们解开这个困境,展现了在Amazon Athena上使用Apache Spark的力量。

该公司的架构源于有机增长和临时解决方案,处于一种危险的状态。数据通过Kinesis和Amazon S3流动,在手动供应的EC2服务器上进行预处理,然后被摄入Amazon Redshift进行客户报告、内部分析和计费等重任。然而,一个严峻的情况出现了,他们的每日管道开始超过24小时,有些天甚至超过26小时。这种运营负担造成了负面连锁反应,阻碍了他们进行根本原因分析和实施性能改进,使他们陷入了持续的应急状态。

Cordo是一位优化数据管道的资深人士,他认识到这种性能问题通常源于三个主要原因:处理了不必要的数据、数据结构不佳以及缺乏并行化。在第一个优化案例中,一个步骤计算了所有时间段内所有域和路径的总和、平均值和max,这是一个计算量很大的工作。他们质疑了这一步骤的必要性,创建了一个每日级别的聚合表,只增量加载新数据。这一策略性转变将6小时的过程缩减到每天仅8分钟,扭转了负面运营连锁反应,为他们提供了急需的喘息空间。

Cordo将注意力转向Amazon Athena,这是一种用于数据湖的无服务器交互式查询服务,以及Apache Spark,一种具有熟悉API的快速内存处理引擎。他引入了Athena在2022年发布的Spark集成。这种无缝集成以完全无服务器和无缝的方式将Spark的功能带入Athena,消除了管理Spark集群和配置的复杂性。

核心优化案例被称为“Pandas的困境”,解决了一个在EC2实例上运行的3小时Pandas过程。该过程在将数据加载到Amazon Redshift之前,会解析URL字符串作为预处理步骤。通过将代码移植到Athena上的Spark,他们将这个过程从3小时缩短到仅2分钟,代码变更极小。Cordo演示了使用Athena Spark笔记本的简易性,导入自定义库,以及作为管道的一部分异步运行作业。

通过这些优化,客户原本26小时的管道被缩短到不到1小时,这是一个了不起的成就。Cordo强调了持续优化管道、重新思考流程、利用并行化以及探索像Spark on Athena这样的新工具来减少复杂性和提高性能的重要性。

在整个叙述过程中,Cordo分享了他丰富经验中获得的见解和最佳实践。他强调了质疑假设和重新思考流程的重要性,因为有时被认为是必需的步骤可能已经不再需要或可以用不同的方式来处理。并行化,尤其是对于不断增长的数据集,被证明是提高性能和可扩展性的有力杠杆。Cordo还提倡采用Spark on Athena,赞赏它能够减少Spark的复杂性,同时发挥其性能优势。

Cordo与广告媒体公司的合作见证了数据工程的变革力量,以及对优化的不懈追求。通过采用像Spark on Athena这样的新技术、重新思考流程和利用并行化,公司可以克服最棘手的数据管道挑战,开启运营效率和数据驱动洞见的新领域。

我们正处在 Agentic AI 爆发前夜。 2025 亚马逊云科技中国峰会提出,企业要从 " 成本优化 " 转向 " 创新驱动 " ,通过完善的数据战略和 AI 云服务,把握全球化机遇。亚马逊将投入 1000 亿美元在 AI 算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在 AI 时代突破。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038688/viewspace-3090606/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-05-21

  • 博文量
    679
  • 访问量
    565226