3 回答
TA贡献1830条经验 获得超3个赞
正如您在此处给出的示例中所见,您可以dbutils.fs.rm("/mnt/inbox/InvLog.txt", True)在单个文件方法中使用。
网页上的示例为您提供了以下单个文件:
dbutils.fs.rm("/foobar/baz.txt")
删除文件夹 foobar 下的文件是这样完成的:
%fs rm -r foobar
在你的情况下使用:
%fs rm -r mnt/inbox
请记住 linux、Windows 和 OSX 系统之间的文件夹注释差异。
更新:
您可以尝试以下非优雅的捷径解决方案来规避您声明的 java 异常:
import os
import ...snippet... # yours to fill in here what else you need to import.
files_processed = 0
files_path = [os.path.abspath(x) for x in os.listdir()]
print (files_path) # your filepath might need cleaning for it can be accepted. It prints here all found files.
for item in files_path:
if os.path.isfile(item) == True:
dbutils.fs.rm(item, True)
files_processed +=1
else:
print ('skipped folder: %s', item)
print ("job done", ' : ', file_processed)
TA贡献1829条经验 获得超7个赞
我发现命令
%fs rm -r /mnt/inbox/test
仅适用于文件夹。不是直接放在容器中的文件上,所以在上面的代码中, 收件箱是容器,测试是文件夹。那么它的工作原理。文件需要在一个文件夹中。
TA贡献1806条经验 获得超5个赞
我发现的相同问题。
%fs rm -r path
或者 dbutils.fs.rm('path', True)
检查path
它是否指向“容器”而不是“文件夹”。我们无法从数据块中删除 azure blob 容器。
添加回答
举报