Azure Databricks - 将 Parquet 文件写入策划区域
Posted
技术标签:
【中文标题】Azure Databricks - 将 Parquet 文件写入策划区域【英文标题】:Azure Databricks - Write Parquet file to Curated Zone 【发布时间】:2019-10-16 03:56:31 【问题描述】:将 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) 记入创建的文件夹,而不是创建具有该名称的文件。
如何忽略这些附加文件并使用提供的名称写入文件。
【问题讨论】:
【参考方案1】:当用户在作业中写入文件时,DBIO 将为您执行以下操作。
使用唯一事务 ID 编写的标记文件。 将文件直接写入其最终位置。 在作业提交时将事务标记为已提交。在Spark的存档中不能直接修改文件名。
Spark 使用 Hadoop 文件格式,这需要对数据进行分区 - 这就是您拥有部分文件的原因。您可以在处理后轻松更改文件名,就像在SO 线程中一样。
您可以参考类似的SO 线程,它解决了类似的问题。
希望这会有所帮助。
【讨论】:
以上是关于Azure Databricks - 将 Parquet 文件写入策划区域的主要内容,如果未能解决你的问题,请参考以下文章
将 Azure Databricks 增量表迁移到 Azure Synapse SQL 池
使用 /mnt/ 将数据从 Azure Blob 存储读取到 Azure Databricks
将数据存储到 PySpark (Azure - DataBricks) 中的数据库非常慢