在AWS Glus pyspark作业中从s3加载JSON

pad*_*adr 0 python json amazon-s3 pyspark aws-glue

我正在尝试从粘合pyspark脚本内的s3存储桶中检索JSON文件。

我在aws胶内的作业中运行此功能:

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

    df = spark.read.json(s3_bucket_path)
    df.show()
Run Code Online (Sandbox Code Playgroud)

在此之后,我得到:AnalysisException:u'路径不存在:s3://bucket/data/file.gz;'

我搜索了此问题,但没有发现任何类似的东西可以推断出问题出在哪里。我认为访问存储分区可能存在权限问题,但是错误消息应该有所不同。

小智 7

在这里您可以尝试:

    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"])
Run Code Online (Sandbox Code Playgroud)

其中Key=full path to your file in bucket

并以此 jsonObjectspark.read.json(jsonObject)