Pyspark 数据框写入镶木地板而不删除 /_temporary 文件夹
Posted
技术标签:
【中文标题】Pyspark 数据框写入镶木地板而不删除 /_temporary 文件夹【英文标题】:Pyspark dataframe write parquet without deleting /_temporary folder 【发布时间】:2020-04-03 06:54:19 【问题描述】:df.write.mode("append").parquet(path)
我正在使用它来将 parquet 文件写入 S3 位置。似乎为了写入文件,它还创建了一个/_temporary
目录并在使用后将其删除。所以我被拒绝访问。我们 AWS 账户的管理员不想授予对该文件夹的代码删除权限。
我建议将文件写入另一个可以授予删除权限的文件夹,然后将文件复制过来。但是管理员仍然希望我将文件直接写入目标文件夹。
我可以设置某些配置来要求 Pyspark 不要删除临时目录吗?
【问题讨论】:
你如何在 AWS 上运行它。服务名称是什么 我正在使用 AWS EMR 【参考方案1】:我认为_temporary
文件夹没有这样的选项。
但如果您在 EMR 集群上运行 Spark 作业,您可以先写入集群的本地 HDFS,然后使用 Hadoop FileUtil.copy
函数将数据复制到 S3。
在 Pyspark 上,您可以像这样通过 JVM 网关访问此功能:
sc._gateway.jvm.org.apache.hadoop.fs.FileUtil
【讨论】:
以上是关于Pyspark 数据框写入镶木地板而不删除 /_temporary 文件夹的主要内容,如果未能解决你的问题,请参考以下文章