Мне нужно рекурсивно удалить каталог на hdfs. Я использовал FileSystem, чтобы читать и работал нормально. Но при удалении отпечатков консоли доступ запрещен, поскольку конфигурация, которую я использую, извлекает имя пользователя компьютера. Я обычно вхожу в hadoop с помощью команды ssh из терминала, и я могу удалить его. Я хочу реализовать то же самое, используя hadoop.
Я наткнулся на этот пост:
Подключение к Hadoop из приложения Java с использованием SSH
public class DeleteService {
private Configuration conf;
//constructor for configuration
public DeleteService() {
conf = new Configuration();
}
public boolean deleteRoot(String folderPath) throws IOException {
String pathToRootFolder = HDFS_ROOT_URL + folderPath;
FileSystem rootFolder =
FileSystem.get(URI.create(pathToRootFolder), conf);
Path rootFolderPath = new Path(pathToRootFolder);
return rootFolder.delete(rootFolderPath, true);
}
}
В доступе отказано пользователю, но я хочу получить учетные данные для входа в hadoop, что я пишу в ssh