在Glue PySpark作业向S3写入数据时为什么会创建带有 _$folder$ 后缀的文件

0

【以下的问题经过翻译处理】 Hi,

我写过几个Glue Job,没有遇到这种情况,这是在我写的一个新Job中突然出现的问题。我正在使用以下代码将数据写入S3。S3路径是 "s3://...."。

unionData_df.repartition(1).write.mode("overwrite").parquet(test_path)

在我的测试环境中,当我第一次运行Glue Job时,它创建了一个带有后缀 _$folder$ 的空文件。在生产环境中也是如此。我的其他Job没有这个问题。

为什么会创建这个文件?如何避免它?为什么其他Job没有这个问题,而这个Job却有?我应该检查什么?请注意,我认为文件是在首次创建前缀/文件夹时创建的。一些博文建议将S3路径更改为 s3a,但我不确定这是否正确的解决方法。

profile picture
专家
已提问 6 个月前16 查看次数
1 回答
0

【以下的回答经过翻译处理】 如果文件夹不存在,这就是由Hadoop创建的。 _$folder$ 只是一个占位符。它是通过mkdir命令创建的。只有在放置第一个文件时才会创建实际的文件夹。其他Job中没有出现这个问题的原因可能是它们在现有文件夹中进行写入。这些文件应该不会有问题的。

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则