AWS Glue 是 AWS 提供的全托管无服务器 ETL 服务,核心任务只有一件事:把散落在各处的原始数据,整理成干净、可查询的格式。你的数据可能放在 Amazon S3、RDS、Redshift 甚至本地数据库里,格式也五花八门。Glue 不需要你搭建服务器,你只需要告诉它“从哪里来,到哪里去”,剩下的事情 Glue 帮你完成。Glue 管理了所有底层资源。就像你把一堆混乱的乐高积木倒进自动分拣机,机器自动按颜色和形状归类,再按图纸拼出你需要的模型。
Glue 由三个核心组件组成。
第一,Glue Crawler,它像一只蜘蛛,自动爬取 S3、RDS、DynamoDB 等20多个数据源,扫描文件结构,推断出字段名和数据类型,把结果写入 Glue Data Catalog。Crawler 可以按计划扫描数据源,读取 JSON、CSV、Parquet 等格式的文件,自动推断 Schema。比如你往 S3丢了一堆 CSV,Crawler 会告诉你有哪些列、每列什么类型。
第二,Data Catalog,这是统一的元数据仓库,相当于数据的"目录索引",Athena、Redshift Spectrum、EMR 都从这里读取表结构,不用各自重复扫描。
第三,Glue ETL Jobs,基于 Apache Spark 运行,你可以写 Python 或 Scala 脚本,也可以用 Glue Studio 的可视化界面拖拽生成 ETL Job 启动 Spark 集群,从 Catalog 读取表结构,按你写的逻辑做清洗、过滤、字段映射、格式转换。比如把 JSON 转成 Parquet,把字符串日期转成 Timestamp。
场景一:构建数据湖。
企业把各业务系统的数据 dump 到 S3,用 Glue Crawler 自动建表,再通过 ETL Job 统一清洗,最终形成可查询的数据湖。配合 Athena,分析师直接写 SQL 就能出结果,不用懂 Spark。
场景二:日志标准化。
运维团队把 VPC 流日志、CloudTrail 日志用 Glue 统一解析,提取出 IP、时间、操作类型等关键字段,写入 OpenSearch 做检索,排障效率提升数倍。
场景三:跨账户数据共享。
Data Catalog 支持跨账户访问,A 团队建好表结构,B 团队直接引用,不用复制数据,安全又省力。
场景四:数据仓库的 ETL 管道。
你在线交易库(比如 Amazon RDS)有几百张表,想定期同步到 Redshift 做分析。Glue 可以每天凌晨自动运行增量抽取任务,只抓取昨天变化的数据,清洗后加载到 Redshift。