Может ли pyhdfs сделать «мягкое» удаление?
Я использую
from pyhdfs import HdfsClient
fs = HdfsClient(hosts=..., user_name='hdfs', ..)
fs.delete(path_table, recursive=True)
Однако после того, как я удалил каталог, я не смог найти его в каталоге корзины, расположенном в
/user/hdfs/.Trash/Current/
.
Похоже ли, что pyhdfs удаляет файлы с
'-skipTrash'
? Как сделать так, чтобы он мягко удалял цель? Я не мог найти метод, подобный
'-mv'
либо реализовать этот запрос вручную.
1 ответ
Нет
skipTrash
Параметр -esque (или альтернатива не пропускать корзину) задокументирован для команды удаления WebHDFS.
В
hdfs dfs rm
Команда в первую очередь пытается использовать Trash API (если не сказано, что это не так), и если удаление не удается, она удаляет файл, используя то, что, как я полагаю, является той же базовой операцией, которую использует API WebHDFS.
Похоже, что удаление в корзину реализовано ((1), (2)) как команда создания каталогов и переименования.
Вероятно, вам потребуется реализовать эту последовательность вручную при использовании WebHDFS (и, соответственно,
pyhdfs
).