后端开发者的 AWS 大数据指南:从 RDS 到 Data Lake

对于习惯了传统应用架构(Spring Boot + MySQL)的开发者来说,AWS Glue 和 Athena 的世界可能会让人感到陌生。这里的术语------Crawler、Catalog、Spark、S3------构建了一套完全不同的逻辑。

本文将剥离复杂的云厂商术语,从底层原理出发,梳理这套架构的核心逻辑、组件映射以及真实的业务流转场景。


一、 四大核心组件:底层逻辑

在大数据架构中,无论是在 AWS 上还是自建机房,系统永远由四个核心角色组成。我们可以把它们想象成一场**"精密的大型物流作业"**:

  1. JDK (客户端/发号施令者)

    • 角色:指挥官。

    • 职责:它不负责搬运重物,也不负责计算复杂的数据。它只负责发出指令("给我查一下去年的账单"),并等待结果。

    • 类比:在传统架构中它是 Spring Boot 后端;在大数据架构中,它是调用 API 的客户端。

  2. Spark / Compute Engine (计算引擎/干活的劳动力)

    • 角色:分布式工人群体。

    • 职责 :这是真正的"肌肉"。它不是单台机器(像 Nginx),而是一个集群。当你下达指令时,它会把任务拆解给成百上千个"工人"(Executor),让他们去仓库搬货、计算、汇总。

    • 误区 :它不是像 Spring 那样的代码框架,而是一套可以动态扩缩容的分布式操作系统

  3. Metastore (元数据仓储/指路的地图)

    • 角色:仓库管理员的账本。

    • 职责 :它不存真实数据,只记录数据在哪里长什么样(有哪些表、字段类型、S3 路径)。它是计算引擎和存储仓库之间的桥梁。

    • 背景 :这个领域的"老祖宗"是 Hive Metastore,几乎所有现代数据架构都沿用了它的标准。

  4. Object Storage (对象存储/存货的仓库)

    • 角色:无限容量的仓库。

    • 职责:存储真实的原始文件(JSON, CSV, Parquet)。它廉价、持久,但自己没有计算能力。


二、 映射到 AWS:你现在的架构

理解了底层逻辑,我们将它们一一映射到 AWS 的服务中,这就是你当前架构的全貌:

组件角色 AWS 具体服务 你的实际用法
发号施令者 JDK (Java SDK) 你的 EKS 微服务,通过 SDK 调用 Athena API 发起查询请求。
干活的工人 Athena / Glue Job Athena:负责快速 SQL 查询(底层基于 Presto); Glue Job:负责后台大批量数据清洗(底层是 Serverless Spark)。
指路的地图 Glue Data Catalog AWS 托管的 Metastore。它存储了 S3 文件的表结构(Schema),让 Athena 知道怎么读文件。
存货的仓库 Amazon S3 数据湖。存储你从 RDS 搬运过来的原始数据或清洗后的 Parquet 文件。

三、 实战场景:生成"用户年度账单"

为了串联这些组件,我们以一个高频业务场景为例:"用户点击 App 查看 2025 年度消费报告"

这个场景要求处理海量历史数据,且不能影响主业务数据库(RDS)的性能。

1. 准备阶段:数据搬运(Glue Job)

  • 动作 :每天凌晨,Glue Job(Spark 集群)自动启动。

  • 工作 :它连接 RDS,读取昨天的增量订单,进行清洗(脱敏、格式转换),然后以 Parquet 格式 存入 S3。

  • 登记 :Glue 更新 Data Catalog,告诉系统:"S3 仓库里又多了几箱 2025 年的数据。"

2. 触发阶段:下达指令 (JDK)

  • 场景:用户点击"生成报告"。

  • 代码行为 :你的 Java 程序调用 Athena 的 StartQueryExecution 接口。

  • 指令内容

    • SQL: SELECT category, sum(price) FROM orders WHERE user_id='123' AND year='2025'

    • Workgroup: billing-report (用于隔离资源和计费)

3. 执行阶段:劳动力开工 (Athena)

  • 寻址 :Athena 拿着 SQL 询问 Glue Data Catalog :"orders 表的文件在 S3 哪个目录下?"

  • 计算 :Athena 启动分布式节点,并行扫描 S3 中的文件。注意:它只扫描 year=2025 的文件夹(分区裁剪),速度极快且省钱。

  • 落盘:Athena 计算出结果(例如:"餐饮: 500元"),将结果写成 CSV 文件存回 S3 的结果桶。

4. 反馈阶段:结果交付 (JDK)

  • 轮询:JDK 每隔几百毫秒询问 Athena:"查完了吗?"

  • 获取 :一旦状态为 SUCCEEDED,JDK 调用 GetQueryResults 读取数据。

  • 展示:App 端展示精美的年度账单。


四、 核心价值总结

为什么我们要绕这么大一圈,而不直接查 RDS?

  1. 算存分离

    • RDS:只负责每秒几千次的"小读写"(下单、支付)。

    • Athena/S3:负责"一次扫描几亿行"的大分析。

    • 结果:无论你怎么查年度报表,RDS 的 CPU 负载纹丝不动,业务永不卡顿。

  2. Serverless 体验

    • 你不需要像维护 Nginx 那样维护 Spark 集群。AWS Glue 和 Athena 都是 Serverless 的------用的时候自动招募几百个"工人",用完自动解散,按秒计费。
  3. 技术解耦

    • 你的 5 组业务(EKS)只需要通过标准的 SQL 和 API 与数据层交互。底层无论是用 Parquet 还是 CSV,是 Spark 还是 Presto,对业务代码都是透明的。

这就是这套架构的精髓:利用云原生的能力,把最复杂的分布式计算,封装成了最简单的 SQL 接口。

相关推荐
武子康2 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康3 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP3 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库3 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟3 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人3 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
计算机程序猿学长3 天前
大数据毕业设计-基于django的音乐网站数据分析管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
大数据·django·课程设计
B站计算机毕业设计超人3 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
十月南城3 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark
中烟创新3 天前
灯塔AI智能体获评“2025-2026中国数智科技年度十大创新力产品”
大数据·人工智能·科技