df.write.csv创建的分区数是否等于df中记录的总数



add_dist.write.format("csv"(.option("sep",","(.mode("overwrite"(.save("C:\BigData\projects\datalake\address_op"(我正在尝试使用pyspark以csv格式写入文件夹。

Dataframe总共有25条记录,在写入…之后,它正在文件夹中创建25个part00000-part00024分区。。。。我该怎么做才能在单个文件(分区(中获取所有内容

在这种情况下,使用coalesce而不是repartition更有效。

这里有一个功能可能会有所帮助。使用此功能,您还可以定义文件名:

def export_csv(df, fileName, filePath):

filePathDestTemp = filePath + ".dir/" 
df
.coalesce(1)
.write
.save(filePathDestTemp) 
listFiles = dbutils.fs.ls(filePathDestTemp)
for subFiles in listFiles:
if subFiles.name[-4:] == ".csv":

dbutils.fs.cp (filePathDestTemp + subFiles.name,  filePath + fileName+ '.csv')
dbutils.fs.rm(filePathDestTemp, recurse=True)

最新更新