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

Windows本地运行AWS Glue Job时遭遇Spark相关错误求助

问题原因

com.amazonaws.auth.AWSCredentialsProvider类属于AWS Java SDK核心认证模块,你的本地Spark运行环境未包含该依赖,导致类加载失败。

解决方法

1. Maven项目补充依赖

如果你的Glue Job是Maven项目,在pom.xml中添加以下依赖(版本需匹配你的Spark、Glue版本,例如Glue 4.0对应Spark 3.3.x):

<!-- AWS SDK核心依赖,提供认证类 -->
<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-core</artifactId>
    <version>1.12.500</version>
    <scope>compile</scope>
</dependency>

<!-- AWS Glue客户端依赖,适配Glue Job API -->
<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-glue</artifactId>
    <version>1.12.500</version>
    <scope>compile</scope>
</dependency>

<!-- Spark与AWS云存储集成依赖 -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-hadoop-cloud_2.12</artifactId>
    <version>3.3.0</version>
    <scope>compile</scope>
</dependency>

2. 非Maven项目手动添加JAR包

若未使用Maven,需手动下载以下JAR包,放入Spark安装目录的jars文件夹,或在启动Job时通过--jars参数指定路径:

  • aws-java-sdk-core-xxx.jar
  • aws-java-sdk-glue-xxx.jar
  • spark-hadoop-cloud_xxx.jar
  • hadoop-aws-xxx.jar(需匹配Spark内置的Hadoop版本)

3. 配置本地AWS凭证

依赖补全后,需确保Spark能获取AWS访问凭证:

  • 在用户根目录创建~/.aws/credentials文件,写入:
[default]
aws_access_key_id=你的AWS访问密钥ID
aws_secret_access_key=你的AWS私有访问密钥
  • 或临时设置环境变量:
export AWS_ACCESS_KEY_ID=你的AWS访问密钥ID
export AWS_SECRET_ACCESS_KEY=你的AWS私有访问密钥

4. Spark启动参数调整

启动Glue Job时,可添加必要的AWS区域配置,示例:

spark-submit \
  --class com.your.package.YourJobClass \
  --jars /path/to/aws-jars/aws-java-sdk-core.jar,/path/to/aws-jars/aws-java-sdk-glue.jar \
  --conf spark.hadoop.fs.s3a.region=us-east-1 \
  your-job-jar-file.jar

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:37:25