2

在将 parquet 文件写回 DataLake Gen2 时,会创建其他文件。

例子:

%python
rawfile = "wasbs://xxxx@dxxxx.blob.core.windows.net/xxxx/2019-09-30/account.parquet"
curatedfile = "wasbs://xxxx@xxxx.blob.core.windows.net/xxxx-Curated/2019-09-30/account.parquet"
dfraw = spark.read.parquet(rawfile)
dfraw.write.parquet(curatedfile, mode = "overwrite")
display(dfraw)

在此处输入图像描述

提供的文件名 (account.parquet) 记入创建的文件夹,而不是创建具有该名称的文件。

如何忽略这些附加文件并使用提供的名称写入文件。

4

1 回答 1

0

当用户在作业中写入文件时,DBIO 将为您执行以下操作。

  • 使用唯一事务 ID 编写的标记文件。
  • 将文件直接写入其最终位置。
  • 作业提交时将事务标记为已提交。

无法直接更改 Spark 保存中的文件名。

Spark 使用 Hadoop 文件格式,这需要对数据进行分区——这就是你有部分文件的原因。您可以在处理后轻松更改文件名,就像在SO线程中一样。

您可以参考类似的SO线程,它解决了类似的问题。

希望这可以帮助。

于 2019-11-01T08:50:31.353 回答