Databricks DBFS解压councils.zip失败:无法找到文件求助
问题解决:DBFS中解压zip文件失败的原因及修复方法
错误原因
shell命令(比如%sh unzip)无法直接识别Databricks DBFS的dbfs:/路径格式,必须使用DBFS在集群本地节点的挂载路径/dbfs/来访问文件。
正确操作步骤
方法1:直接用挂载路径解压
把dbfs:/替换为/dbfs/,执行以下shell命令即可正常解压:
%sh unzip /dbfs/FileStore/councils.zip
如果需要指定解压目录,添加-d参数:
%sh unzip /dbfs/FileStore/councils.zip -d /tmp/councils_unzip
方法2:解压后将文件放回DBFS
如果要让解压后的CSV文件留在DBFS方便后续处理,按以下步骤操作:
- 先解压到集群本地临时目录:
%sh unzip /dbfs/FileStore/councils.zip -d /tmp/councils
- 将解压后的文件夹复制到DBFS:
dbutils.fs.cp("file:/tmp/councils", "dbfs:/FileStore/councils", recurse=True)
- 验证解压结果:
dbutils.fs.ls("dbfs:/FileStore/councils")
关键知识点
Databricks集群的本地节点会自动把DBFS挂载到/dbfs/目录下,所有通过%sh执行的shell命令,都必须通过/dbfs/xxx格式访问DBFS文件,不能直接使用dbfs:/xxx。
内容的提问来源于stack exchange,提问作者Codistan
相关产品推荐
相关产品推荐

