在 python 代码中使用 CLI 将本地文件传输到 Databricks DBFS 系统不起作用

问题描述 投票:0回答:1

问题是:当我运行独立命令将文件从本地位置传输到 DBFS 时,它可以工作

databricks fs cp /mnt/farm/DNAlab/WGL/Samples/Data\ Analysis/Emedgene/HPO/2213305.HPO.txt dbfs:/FileStore/LiveDataUpload/WES_HPO_Dec16/

但是当我在 python 代码中运行它时,它失败了。

 my_cmd = "databricks fs cp "+row_file+" "+upload_dir
                run_args = {"shell":True, "check":True, "capture_output":True}
                subprocess.run(my_cmd, **run_args)

请帮忙...为什么?

python file command-line-interface databricks transfer
1个回答
0
投票

如果我们避免使用

shell=True
,我们将更轻松地处理包含空格的文件名。

这样的东西应该有效:

src = "/mnt/farm/DNAlab/WGL/Samples/Data Analysis/Emedgene/HPO/2213305.HPO.txt"
target = "dbfs:/FileStore/LiveDataUpload/WES_HPO_Dec16/"

subprocess.run(["databricks", "fs", "cp", src, target], capture_output=True, check=True)
© www.soinside.com 2019 - 2024. All rights reserved.