我使用Hadoop的FileSystem
类来删除一些HDFS文件。现在的问题是,客户端在持续时间过长后获得连接超时,我需要缩短等待超时的时间,以便用户获得更快的响应,如果他/她在网络之外!
这是我的代码片段:
try {
System.setProperty("HADOOP_USER_NAME", "test");
Configuration conf = new Configuration();
File csvFile = new File(pathCsvFile);
FileSystem hdfs = FileSystem.get(new URI(csvFile.getPath(), conf);
if(hdfs.exists(new Path(filterValuesPath))) {
hdfs.delete(new Path(filterValuesPath), true);
setInfo("File deleted!");
} else {
setInfo("No file to delete!");
}
} catch (Exception ex) { // the timeout is too high!!!
ex.printStackTrace();
setInfo("No connection or no files to delete!");
}
我在哪里以及如何设置应用程序的超时?我不想在任何Hadoop配置文件中更改它,只在本地为我的Java应用程序。谢谢!