You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Glue Job从Aurora抽取数据至S3及相关疑问

Aurora到S3的Glue Job配置方案

下面分两种场景解答你的问题,涵盖直接配置(避开Catalog/Crawler)和标准流程(使用Catalog/Crawler)两种方式:

一、无需Glue Data Catalog和Crawler的直接实现方式

控制台可视化ETL的源下拉列表里确实找不到Aurora,但可以通过自定义Spark脚本直接连接Aurora抽取数据到S3,完全绕开Catalog和Crawler,步骤如下:

  1. 创建Glue Job时,选择「Spark script editor」(而非可视化ETL选项),选择Python或Scala作为脚本语言。
  2. 编写脚本实现JDBC读取Aurora、写入S3的逻辑,示例Python代码:
import sys
from awsglue.context import GlueContext
from awsglue.job import Job
from pyspark.context import SparkContext

sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(sys.argv[0], sys.argv[1])

# 配置Aurora连接参数
aurora_url = "jdbc:mysql://your-aurora-cluster-endpoint:3306/your-database-name"
table_name = "your-target-table"
db_user = "your-db-username"
db_password = "your-db-password"
driver_class = "com.mysql.cj.jdbc.Driver"  # PostgreSQL兼容版用org.postgresql.Driver

# 读取Aurora数据
source_df = spark.read.format("jdbc") \
    .option("url", aurora_url) \
    .option("dbtable", table_name) \
    .option("user", db_user) \
    .option("password", db_password) \
    .option("driver", driver_class) \
    .load()

# 写入S3(支持parquet/csv等格式)
source_df.write.format("parquet") \
    .mode("overwrite") \
    .save("s3://your-target-bucket/path/to/output/")

job.commit()
  1. 配置Job的核心依赖:
    • 网络:将Glue Job部署到Aurora所在VPC的子网,配置安全组开放Aurora的端口(MySQL默认3306,PostgreSQL默认5432),确保Job能连通数据库。
    • IAM权限:给Job执行角色添加S3读写权限、Glue服务权限,以及Aurora的访问权限(如果用IAM数据库认证,需额外配置角色关联)。

二、使用Glue Data Catalog和Crawler的标准流程

如果偏好可视化配置,需要先通过Crawler将Aurora的表结构同步到Catalog,之后就能在可视化ETL里选择Aurora作为数据源,步骤如下:

  1. 创建Glue JDBC连接:
    • 在Glue控制台进入「连接」页面,选择「添加连接」,类型选JDBC。
    • 填写Aurora的端点、端口、数据库名、用户名密码,配置VPC、子网、安全组确保网络连通,完成连接创建。
  2. 创建并运行Glue Crawler:
    • 进入「爬虫」页面,新建爬虫,数据源选择刚才创建的JDBC连接,指定要爬取的数据库或表。
    • 目标数据库选择Glue Catalog中的现有数据库,或新建一个。
    • 启动爬虫,完成后Aurora的表结构会同步到Glue Catalog。
  3. 创建可视化ETL Job:
    • 新建Job时选择「可视化ETL」,源下拉列表就能找到Catalog中同步好的Aurora表。
    • 选择S3作为目标,配置输出格式(如Parquet)、存储路径,保存并运行Job即可。

关键疑问解答

  • 能否直接将Aurora作为数据源?
    控制台可视化ETL的源列表默认不显示Aurora,因为它属于JDBC数据源,需先通过Crawler同步到Catalog才能在可视化界面选择;但脚本模式可直接通过JDBC连接读取,无需依赖Catalog。
  • 是否必须使用Glue Data Catalog和Crawler?
    不是必须的。脚本模式可完全避开两者,适合需要自定义逻辑、快速实现的场景;使用Catalog和Crawler的优势在于可视化配置更简便,表结构变更后重新爬取即可同步元数据,适合多Job复用表结构、表结构频繁变动的场景。

内容的提问来源于stack exchange,提问作者DK93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 14:33:22