azure - 使用 pyspark 将多个 csv 文件合并到 Azure Blob 存储中的一个 csv 文件

标签 azure pyspark azure-blob-storage azure-databricks

我正在使用下面的代码将 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/

相关文章:

azure - 如何检查 powershell 脚本是否正在 Azure 中运行

c# - 运行 azure 项目时出现 SEHException

c# - Azure 表存储

c# - 将 blob 上传到 Azure 并授予公共(public)读取访问权限 C#

azure - 在 Azure 存储资源管理器中哪里可以查看错误详细信息?

javascript - React App 的 Active Directory 插件出现 CORS 错误

python - Pyspark - 根据其他值的比较删除具有匹配值的行

apache-spark - 使用 PySpark 进行多类分类的逻辑回归问题

python - 在 pyspark 中使用基于 DataFrame 的 API 在 2 个稀疏向量列表之间进行矩阵乘法的最佳方法是什么?

azure - 如何以编程方式找出我可以在 Blob 存储中执行哪些操作?