StackOverflow 的一位非常聪明的人帮助我将文件从 Databricks 复制到目录中:复制文件 https://stackoverflow.com/questions/54007074/how-to-truncate-and-or-use-wildcards-with-databrick
我使用相同的原理在复制文件后删除文件,如链接所示:
for i in range (0, len(files)):
file = files[i].name
if now in file:
dbutils.fs.rm(files[i].path,'/mnt/adls2/demo/target/' + file)
print ('copied ' + file)
else:
print ('not copied ' + file)
但是,我收到错误:
TypeError: '/mnt/adls2/demo/target/' 的类型错误 - 需要类 bool 。
有人可以让我知道如何解决这个问题吗?我认为在最初使用命令复制文件后删除该文件很简单dbutils.fs.rm
如果要删除以下路径中的所有文件:'/mnt/adls2/demo/target/'
,有一个简单的命令:
dbutils.fs.rm('/mnt/adls2/demo/target/', True)
无论如何,如果你想使用你的代码,请看一下dbutils 文档 https://docs.databricks.com/user-guide/dev-tools/dbutils.html:
rm(dir: String, recurse: boolean = false): boolean -> 删除文件或目录
该函数的第二个参数应为布尔值,但您的代码具有带路径的字符串:
dbutils.fs.rm(files[i].path, '/mnt/adls2/demo/target/' + file)
所以你的新代码可以如下:
for i in range (0, len(files)):
file = files[i].name
if now in file:
dbutils.fs.rm(files[i].path + file, True)
print ('copied ' + file)
else:
print ('not copied ' + file)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)