You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Databricks/Azure Data Lake中:批量保存15k CSV及单文件计算后存储方法

问题1:如何在Databricks或Azure Data Lake中保存15000个CSV文件?

在Databricks中实现

  • Spark分区批量保存:如果数据源是DataFrame,可通过指定分区数让Spark自动拆分生成多文件,适合大规模数据场景:
    # 假设df是源DataFrame,设置分区数为15000(需根据数据量调整,避免空文件)
    df.repartition(15000).write.mode("overwrite").option("header", "true").csv("/dbfs/mnt/adls/target/path/")
    
  • 循环单文件保存:如果需要自定义文件命名或内容,可遍历数据子集逐个保存:
    # 假设data_list包含15000个数据子集
    for idx, subset in enumerate(data_list):
        subset.to_csv(f"/dbfs/mnt/adls/target/path/file_{idx}.csv", index=False)
    

直接操作Azure Data Lake

如果本地已有15000个CSV文件,用Azure CLI批量上传:

az storage blob upload-batch --destination <容器名> --source <本地文件夹路径> --account-name <存储账户名>

问题2:如何从Azure Data Lake下载CSV文件,执行计算后重新保存为CSV格式?

在Databricks中需确保已挂载ADLS Gen2,路径格式为abfss://<容器名>@<存储账户名>.dfs.core.windows.net/,或使用DBFS挂载路径。

完整代码示例:

  1. 读取ADL中的CSV文件:
    # pandas读取(适合小文件)
    data = pd.read_csv("abfss://container@storageaccount.dfs.core.windows.net/example.csv")
    
  2. 执行计算:
    new_data = data // 2 + data
    
  3. 将结果保存回ADL:
    new_data.to_csv("abfss://container@storageaccount.dfs.core.windows.net/example_calculated.csv", index=False)
    

若使用DBFS挂载路径,可替换为/dbfs/mnt/adls/example.csv这类格式。


内容的提问来源于stack exchange,提问作者Norbert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:15:41