我正在尝试从粘合pyspark脚本中的s3存储桶中检索JSON文件。
我正在aws胶内的作业中运行此功能:
def run(spark):
s3_bucket_path = 's3://bucket/data/file.gz'
df = spark.read.json(s3_bucket_path)
df.show()
在此之后,我得到: AnalysisException:u'Path不存在:s3://bucket/data/file.gz;'
我搜索了此问题,但没有发现任何足以推断出问题出在哪里的东西。我认为访问存储分区可能存在权限问题,但是错误消息应该有所不同。
答案 0 :(得分:6)
在这里您可以尝试:
s3 = boto3.client("s3", region_name="us-west-2", aws_access_key_id="
", aws_secret_access_key="")
jsonFile = s3.get_object(Bucket=bucket, Key=key)
jsonObject = json.load(jsonFile["Body"])
其中Key
= full path to your file in bucket
并在jsonObject
中使用此spark.read.json(jsonObject)