Python 在aws glue pyspark作业中从s3加载JSON

Python 在aws glue pyspark作业中从s3加载JSON,python,json,amazon-s3,pyspark,aws-glue,Python,Json,Amazon S3,Pyspark,Aws Glue,我试图从glue pyspark脚本中的s3存储桶中检索JSON文件 我正在aws glue内的作业中运行此函数: def run(spark): s3_bucket_path = 's3://bucket/data/file.gz' df = spark.read.json(s3_bucket_path) df.show() 在此之后,我得到: AnalysisException:u'路径不存在:s3://bucket/data/file.gz;' 我搜索了这个问题

我试图从glue pyspark脚本中的s3存储桶中检索JSON文件

我正在aws glue内的作业中运行此函数:

def run(spark):
    s3_bucket_path = 's3://bucket/data/file.gz'

    df = spark.read.json(s3_bucket_path)
    df.show()
在此之后,我得到: AnalysisException:u'路径不存在:s3://bucket/data/file.gz;'


我搜索了这个问题,没有找到任何类似的东西,足以推断问题在哪里。我认为访问bucket时可能会出现权限问题,但是错误消息应该不同。

在这里,您可以尝试以下操作:

    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=bucket中文件的完整路径


并在spark.read.jsonjsonObject中使用此jsonObject

您应该确保URL是可公开访问的。如果您没有明确地将其公开,则即使您是授权用户,也无法通过该URL访问它。