Azure Databricks任务中使用dbutils.fs.rm删除DBFS文件夹及内容问题
解决Azure Databricks非笔记本环境删除DBFS文件夹及所有子内容的Python方法
方法1:使用Databricks SDK for Python(推荐云端作业环境)
这个方法不依赖dbutils,适用于Databricks作业、CI/CD等非笔记本场景,支持递归删除整个目录:
from databricks.sdk import WorkspaceClient # 初始化客户端(作业环境会自动获取认证信息,本地运行需配置环境变量) w = WorkspaceClient() # 替换为你的目标DBFS文件夹路径,递归删除所有内容 w.dbfs.delete(path="/path/to/your/folder", recursive=True)
方法2:通过DBFS本地挂载路径结合shutil模块
如果任务环境能直接访问DBFS的本地挂载点(默认路径为/dbfs/),可以用Python标准库实现递归删除:
import shutil import os target_path = "/dbfs/path/to/your/folder" if os.path.exists(target_path): shutil.rmtree(target_path) else: print("目标文件夹不存在")
注意:该方法仅适用于能直接访问DBFS本地挂载的环境,比如Databricks集群节点上的作业运行环境。
内容的提问来源于stack exchange,提问作者Brian
相关产品推荐
相关产品推荐

