在Databricks中保存到Azure Data Lake时指定镶木地板文件名



当我将镶木地板文件保存在Databricks中到Azure Data Lake时,是否有方法指定该文件的名称?例如,当我尝试运行以下语句时:

append_df.write.mode('append').format('parquet').save('/mnt/adls/covid/base/Covid19_Cases')

创建了一个名为Covid_Cases的文件夹,其中有带有随机名称的镶木地板文件。

我想做的是在数据工厂复制活动中使用保存的镶木地板文件。为了做到这一点,我需要指定镶木地板文件的名称,否则我无法指向特定的文件。

由于spark在分布式模式下执行,并且并行处理文件或其更新,例如数据帧,因此处理后的数据将存储在同一文件夹中的不同文件中。您可以将文件夹级别的名称用于数据工厂复制活动。但你们真的想把它做成一个文件,你们可以使用下面的方法,

save_location= "/mnt/adls/covid/base/Covid19_Cases"+year
parquet_location = save_location+"temp.folder"
file_location = save_location+'export.parquet'
df.repartition(1).write.parquet(path=parquet_location, mode="append", header="true")
file = dbutils.fs.ls(parquet_location)[-1].path
dbutils.fs.cp(file, file_location)
dbutils.fs.rm(parquet_location, recurse=True)

相关内容

  • 没有找到相关文章

最新更新