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

执行AWS Glue作业写入磁盘遇权限拒绝,如何配置写入权限?

解决AWS Glue作业写入磁盘时的权限拒绝问题

从你给出的错误信息来看,问题很明确:你的Glue作业默认以root用户身份尝试写入HDFS根目录/,但该目录的权限是drwxr-xr-x,只有hdfs:hadoop用户组拥有写入权限,root用户没有权限,所以触发了拒绝错误。

下面是几个可行的解决办法,按推荐程度排序:

1. 优先写入HDFS的/tmp目录(最简单快捷)

HDFS的/tmp目录默认对所有用户开放读写权限,你只需要把代码中的filepath修改为/tmp下的子目录即可,比如:

filepath = "/tmp/glue-job-temp-output"
sdf.coalesce(1).write.csv(filepath)

这样既不需要修改任何权限配置,又能快速解决问题,而且/tmp目录的临时文件会定期清理,不会占用持久存储。

2. 创建自定义HDFS目录并赋予权限

如果你必须写入特定的自定义目录,可以先通过HDFS命令创建目录并调整权限:

# 创建自定义目录
hdfs dfs -mkdir /custom-glue-output
# 赋予所有用户读写执行权限(或者更严格的权限,比如只给root用户)
hdfs dfs -chmod 777 /custom-glue-output

之后在代码中把filepath设置为这个自定义目录即可。

3. 改用S3作为输出目标(最佳实践)

其实AWS Glue的设计初衷就是和S3深度集成,本地磁盘(HDFS)的存储是临时的,作业结束后会被清理。更可靠的方式是直接写入S3,这样还能避免HDFS的权限问题:

# 替换成你的S3桶路径
sdf.coalesce(1).write.csv("s3://your-target-bucket/glue-job-output")

只需要确保你的Glue作业关联的IAM角色拥有该S3桶的写入权限即可,这也是Glue作业输出数据的标准做法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:12:21