使用python将Azure输出到csv



我是Azure的新手,在尝试导出到csv时遇到了问题。我想将输出文件从默认的part-0000-tid-12345命名重命名为更容易识别的名称。我的问题是,当我导出文件时,它会创建一个具有文件名的子目录,然后在该目录中获取文件。有没有办法去掉创建的目录,即路径看起来像下面的写路径,但添加了一个目录。。。出站/cs_notes_.csv/文件名.csv

%python
import os, sys, datetime
readPath = "/mnt/publisheddatasmets1mig/metering/smets1mig/cs/system_data_build/notes/rg"
writePath = "/mnt/publisheddatasmets1mig/metering/smets1mig/cs/system_data_build/notes/outbound"
file_list = dbutils.fs.ls(readPath)
for i in file_list:
file_path = i[0]
file_name = i[1]
file_name
Current_Date = datetime.datetime.today().strftime ('%Y-%m-%d-%H-%M-%S')
fname = "CS_Notes_" + str(Current_Date) + ".csv"
for i in file_list:
if i[1].startswith("part-00000"):
dbutils.fs.cp(readPath+"/"+file_name,writePath+"/"+fname)
dbutils.fs.rm(readPath+"/"+file_name)

如有任何帮助,将不胜感激

在Apache Spark中不可能直接更改输出文件名。

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

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

希望这能有所帮助。

最新更新