Удалить файлы из каталога после загрузки в Databricks с помощью dbutils - PullRequest
0 голосов
/ 08 января 2019

Очень умный человек из StackOverflow помог мне скопировать файлы в каталог из Databricks здесь: CopyFiles

Я использую тот же принцип для удаления файлов после их копирования, как показано в ссылке:

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)

Однако я получаю сообщение об ошибке:

Ошибка типа: '/ mnt / adls2 / demo / target /' имеет неправильный тип - ожидается класс bool.

Может кто-нибудь дать мне знать, как это исправить. Я думал, что будет просто удалить файл после первоначального копирования с помощью команды dbutils.fs.rm

1 Ответ

0 голосов
/ 08 января 2019

, если вы хотите удалить все файлы по пути '/ mnt / adls2 / demo / target /'

есть простая команда

dbutils.fs.rm('/mnt/adls2/demo/target/', True)

В любом случае, если вы хотите использовать свой код, загляните в dbutils doc !

rm(dir: String, recurse: boolean = false): boolean -> Removes a file or directory

ваш код имеет больше параметров

dbutils.fs.rm(files[i].path,'/mnt/adls2/demo/target/' + file)

Я думаю, вам не нужна эта часть ,'/mnt/adls2/demo/target/'

Таким образом, ваш новый код может быть

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)
...