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 文件格式,这需要对数据进行分区 - 这就是为什么你有部分文件。您可以在处理后轻松更改文件名,就像在 线程中一样。
您可以参考类似的 讨论帖,它解决了类似的问题。
希望对您有所帮助。
将 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 文件格式,这需要对数据进行分区 - 这就是为什么你有部分文件。您可以在处理后轻松更改文件名,就像在
您可以参考类似的
希望对您有所帮助。