代码之家  ›  专栏  ›  技术社区  ›  Louis Yang dontloo

在pyspark(2.2.0)中将csv文件写入AWS时,如何分配访问控制列表(acl)?

  •  0
  • Louis Yang dontloo  · 技术社区  · 6 年前

    我知道我可以输出我的火花数据帧到AWS S3作为一个csv文件

    df.repartition(1).write.csv('s3://my-bucket-name/df_name')
    

    我的问题是,是否有一种简单的方法可以将此文件的访问控制列表(acl)设置为 'bucket-owner-full-control' 当使用pyspark将其写入S3时?

    1 回复  |  直到 5 年前
        1
  •  1
  •   stevel    6 年前

    不知道EMR S3连接器;在ASF S3A连接器中,您设置了选项 fs.s3a.acl.default 打开连接时:不能逐个文件进行设置

        2
  •  1
  •   Durga P. Kapa    5 年前

    在构建Spark会话之后,可以通过Hadoop配置设置访问控制列表(ACL)。

    from pyspark.sql import SparkSession
    spark = SparkSession.builder.appName('YourAppName').getOrCreate()
    
    

    设置ACL如下:

    spark.sparkContext.hadoopConfiguration().set('fs.s3.canned.acl', 'BucketOwnerFullControl')
    

    参考文献: s3 documentation