Lin*_*ina 5 amazon-web-services aws-glue aws-glue-workflow aws-glue-spark
我有一个由 Glue 工作流程触发的简单胶水 etl 作业。它从爬虫表中删除重复数据并将结果写回 S3 存储桶。作业已成功完成。但是,spark 生成“$ folder $”的空文件夹保留在 s3 中。它在层次结构中看起来不太好并会导致混乱。有没有办法在成功完成工作后配置火花或胶水上下文来隐藏/删除这些文件夹?
好的,经过几天的测试,我终于找到了解决方案。在粘贴代码之前,让我总结一下我发现的内容......
现在的解决方案是在 Spark 上下文 Hadoop 中设置以下配置。
sc = SparkContext()
hadoop_conf = sc._jsc.hadoopConfiguration()
hadoop_conf.set("fs.s3.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem")
Run Code Online (Sandbox Code Playgroud)
为了避免创建 SUCCESS 文件,您还需要设置以下配置:
hadoop_conf.set("mapreduce.fileoutputcommitter.marksuccessfuljobs", "false")
确保使用 S3 URI 写入 s3 存储桶。前任:
myDF.write.mode("overwrite").parquet('s3://XXX/YY',partitionBy['DDD'])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |