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

如何将dbfs:/FileStore中的文件下载至本地机器?

自动化下载DBFS中Spark结果文件到本地(Databricks社区版)

针对你在Databricks社区版里遇到的批量下载dbfs:/FileStore/my_result下所有part-xxxxx文件的问题,这里有几个实用的方案,完全适配社区版的限制:

方法1:使用Databricks CLI(最适合自动化场景)

这是批量下载最便捷的方式,适合编写脚本自动完成,步骤如下:

  1. 安装Databricks CLI:通过pip直接安装
    pip install databricks-cli
    
  2. 配置社区版工作区:
    • 打开你的社区版工作区,点击右上角用户头像 → User Settings → Access Tokens → Generate New Token,复制生成的token(务必保存好,关闭页面后无法再次查看)。
    • 运行配置命令,输入你的社区版工作区URL(比如https://community.cloud.databricks.com/)和刚才的token:
      databricks configure --token
      
  3. 批量下载文件夹:
    执行以下命令,将DBFS中的整个文件夹递归下载到本地指定路径:
    databricks fs cp -r dbfs:/FileStore/my_result ./local_download_folder
    
    这个命令会自动处理所有子文件和文件夹,包括所有part-xxxxx文件。

方法2:在Databricks笔记本中打包为ZIP后下载

如果不想用CLI,可以在作业完成后的笔记本里直接打包文件,下载单个ZIP包更省心:

方式A:Python代码打包(适合小文件)

在笔记本中运行以下代码,将目标文件夹打包为ZIP并触发下载:

import zipfile

# 定义路径
dbfs_source = "/FileStore/my_result"
local_zip = "/tmp/my_result.zip"

# 打包DBFS文件到ZIP
with zipfile.ZipFile(local_zip, 'w', zipfile.ZIP_DEFLATED) as zipf:
    for file in dbutils.fs.ls(dbfs_source):
        if not file.isDir():
            # 读取文件内容并写入ZIP
            content = dbutils.fs.head(file.path)
            zipf.writestr(file.name, content)

# 下载ZIP到本地
dbutils.fs.download(local_zip, "my_result.zip")

运行后笔记本会直接触发ZIP文件的下载,你只需保存到本地即可。

方式B:Shell命令打包(适合大文件)

切换到笔记本的Shell单元格(开头加%sh),运行以下命令打包:

%sh
# 直接打包DBFS文件夹到本地临时ZIP
zip -r /tmp/my_result.zip /dbfs/FileStore/my_result

打包完成后,在笔记本左侧Files → tmp目录找到my_result.zip,右键点击选择Download即可。

方法3:浏览器控制台脚本(临时批量下载)

如果只是临时需要批量下载,不想安装工具或写代码,可以用浏览器控制台自动点击所有下载链接:

  1. 打开Databricks社区版的DBFS浏览器,进入/FileStore/my_result文件夹。
  2. 按下F12打开开发者工具,切换到Console标签。
  3. 粘贴以下脚本并回车:
// 获取所有part文件的下载链接
const partLinks = document.querySelectorAll('a[href*="/files/FileStore/my_result/part-"]');
// 遍历触发下载
partLinks.forEach(link => {
    const downloadBtn = document.createElement('a');
    downloadBtn.href = link.href;
    downloadBtn.download = link.textContent;
    document.body.appendChild(downloadBtn);
    downloadBtn.click();
    document.body.removeChild(downloadBtn);
});

注意:部分浏览器会阻止批量下载,需要在弹窗中允许该网站的下载权限。


内容的提问来源于stack exchange,提问作者Nacho Castiñeiras

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:25:02