在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
EXPERTE
gefragt vor 5 Monaten13 Aufrufe
1 Antwort
0

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

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen