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

Databricks集群CatBoost指定预创建train_dir仍报无法创建工作目录如何解决

报错原因
  • 路径格式错误:CatBoost作为第三方原生库,无法识别Databricks的dbfs/协议头路径,必须通过DBFS FUSE挂载的/dbfs/前缀路径才能访问存储,你传入的dbfs/FileStore/files/对CatBoost而言是本地相对路径,没有写入权限自然无法创建目录。
  • 子目录创建权限被限制:就算传入的根目录有访问权限,CatBoost默认会在指定的train_dir下自动生成带随机后缀的子目录存储训练快照、临时日志等文件,集群安全策略禁止用户自行创建子目录的情况下,依然会触发创建失败错误。
解决方法
  • 第一步修正路径格式:将传入的路径改为/dbfs/FileStore/files/,修改后的初始化代码如下:
    CatBoostClassifier(train_dir='/dbfs/FileStore/files/')
    
    可以先执行os.listdir('/dbfs/FileStore/files/')验证路径可正常访问,排除路径本身的权限问题。
  • 如果修正路径后仍报错,可添加allow_writing_files=False参数直接禁用CatBoost的临时文件写入逻辑,不会触发任何目录创建操作,适合中小数据集训练场景:
    CatBoostClassifier(
        train_dir='/dbfs/FileStore/files/',
        allow_writing_files=False
    )
    
  • 大数据集训练必须依赖临时文件落盘的场景,可联系集群管理员为你指定的train_dir开通子目录创建权限,或是让管理员预先为你创建好专属的训练子目录,你直接指定到该子目录同时添加save_snapshot=False参数关闭自动快照写入,避免CatBoost生成新的子目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:15:04