【问题标题】:databricks python dbutils can't move file from one directory to anotherdatabricks python dbutils无法将文件从一个目录移动到另一个目录
【发布时间】:2021-06-16 04:42:37
【问题描述】:

我有一个可以在当前工作目录中看到的文件:

%sh
pwd
ls

上面的输出是:

/databricks/driver
conf
sample.csv
logs

我想将sample.csv 文件从这里移动到我正在使用dbutils.fs.mvWorkspace/Shared 目录:

dbutils.fs.mv("dbfs:/databricks/driver/sample.csv","dbfs:/Workspace/Shared/")

但这会导致错误为java.is.FileNotFoundException:dbfs:/databricks/driver/sample.csv

如何解决此错误?

【问题讨论】:

    标签: python pyspark databricks apache-commons-dbutils


    【解决方案1】:

    当您通过%sh 执行命令时,它在驱动程序节点上执行,因此文件是它的本地文件。但是您正在尝试复制文件,因为它已经在 DBFS 上,然后找不到。您需要将 scheme 从 dbfs 更改为 file 以指向驱动程序节点上的文件,如下所示:

    dbutils.fs.mv("file:///databricks/driver/sample.csv","dbfs:/Workspace/Shared/")
    

    【讨论】:

    • 因此,如果我想将文件复制到 databricks 中的工作区目录(databricks UI 中的工作区选项卡),我应该使用file 还是dbfs。我都试过了,它执行没有错误,但我没有通过 UI 在我的工作区目录中看到该文件
    • 要在 UI 中可见,您需要使用 dbfs。但是您的原始文件应通过 file:// 指定
    猜你喜欢
    • 2014-12-04
    • 2021-11-12
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 2017-06-09
    相关资源
    最近更新 更多