我正在使用下面的代码将 csv 文件保存回 blob 存储,尽管它在循环运行时会创建多个文件。现在我想将它们合并到一个 csv 文件中。虽然我使用了dbutils.fs.cp/mv,但它没有帮助
while start_date <= end_date:
df = spark.read.format("com.databricks.spark.csv").options(header="true", inferschema="true").load(inputFilePath)
df.coalesce(1).write.mode("append").option("header","true").format("com.databricks.s`park.csv").save(TargetPath)`
下面发布了类似的请求,但它是使用 pandas 数据框架完成的,我正在寻找带有 Spark 数据框架的东西。 “Copy data from multiple csv files into one csv file”
最佳答案
我的建议是,使用 while 循环创建要读取的 csv 文件列表,然后使用 Spark csv 阅读器一次读取所有文件。例如:
files = []
while start_date <= end_date:
files.append(inputFilePath)
df = spark.read.format("com.databricks.spark.csv").options(header="true", inferschema="true").csv(files)
df.coalesce(1).write.mode("append").option("header","true").format("com.databricks.spark.csv").save(TargetPath)
关于azure - 使用 pyspark 将多个 csv 文件合并到 Azure Blob 存储中的一个 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57564274/