【发布时间】:2022-12-30 15:17:45
【问题描述】:
我是 pyspark 和 AWS 的新手。我正在尝试从 aws s3 读取数据 pyspark 版本 3.3.0 我试过这个:
from pyspark.sql import SparkSession
spark = SparkSession\
.builder\
.config('spark.master', 'local')\
.config('spark.app.name', 's3app')\
.config('spark.jars.packages', 'org.apache.hadoop:hadoop-aws:3.3.4,org.apache.hadoop:hadoop-common:3.3.4')\
.getOrCreate()
sc = spark.sparkContext
sc._jsc.hadoopConfiguration().set('fs.s3a.access.key', 'access-key')
sc._jsc.hadoopConfiguration().set('fs.s3a.secret.key', 'secret-key')
df = spark.read.format('parquet').load('s3a://path-to-s3')
我尝试了几乎所有关于“堆栈溢出”的解决方案,但没有一个对我有用。 我收到以下error message,错误是代码的最后一行。
【问题讨论】:
-
看起来您没有生产存储桶的权限,您是否向 AWS 管理员核实过您的权限?另外,读取其他桶是否成功?
-
是的,你是对的。我更改了我的 IAM 策略,然后它开始工作了。这段代码没有错误。
标签: amazon-web-services amazon-s3 pyspark