Azure Databricks - 将 Parquet 文件写入 Curated Zone

Azure Databricks - Write Parquet file to Curated Zone

将 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) 被计入创建的文件夹,而不是创建具有该名称的文件。

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

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

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

在Spark的存档中直接修改文件名是不行的

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

您可以参考类似的 讨论帖,它解决了类似的问题。

希望对您有所帮助。