如何使用R语言访问Databricks目录?解决setwd切换报错问题
解决方案:Databricks中R语言访问DBFS目录问题
问题原因
setwd("/Shared/my_dir")报错的核心原因:
setwd是R原生命令,仅识别本地节点的文件系统路径,而/Shared是Databricks分布式文件系统(DBFS)的路径,并非本地节点可直接识别的路径。%run是Databricks专属魔法命令,内置了DBFS路径解析逻辑,因此能直接定位并执行脚本。
可行解决方法
方法1:通过DBFS本地挂载路径切换工作目录
Databricks默认将DBFS挂载到本地节点的/dbfs路径下,使用挂载后的路径即可正常切换:setwd("/dbfs/Shared/my_dir")切换完成后,可直接用R原生命令(如
source("script1.R"))执行目录内的脚本。方法2:直接指定DBFS挂载路径执行单脚本
无需切换工作目录,直接用R的source命令指定完整挂载路径:source("/dbfs/Shared/my_dir/script1.R")方法3:批量执行目录内所有R脚本
若需批量运行目录下的所有R脚本,可先列出文件再循环执行:script_paths <- list.files("/dbfs/Shared/my_dir", pattern = "\\.R$", full.names = TRUE) lapply(script_paths, source)
注意事项
- 切勿直接使用
/Shared这类纯DBFS路径作为R命令的参数,必须转为/dbfs/Shared形式的本地挂载路径。 %run仅在Databricks Notebook中生效,source是R原生命令,可在Notebook或R作业中通用。
内容的提问来源于stack exchange,提问作者TOMC
相关产品推荐
相关产品推荐

