我是Hadoop的新手。我试图在简单代码下面运行,但继续获取IOException,消息为No FileSystem for scheme: file
。我在Ubuntu上运行单节点Hadoop 2.7.0。我怀疑这是一个配置问题。任何快速帮助将受到高度赞赏。我搜索过StackOverflow但没有找到合适的答案。
// Check if a file exists
public boolean exists() throws IOException {
boolean isExists = false;
try{
FileSystem hdfs = FileSystem.get(new Configuration());
Path newPath = new Path(hdfsRoot,file.getName());
isExists = hdfs.exists(newPath);
hdfs.close();
}catch(IOException ex){
// log exception and then re-throw
throw ex;
}
return isExists;
}
这是抛出IOException的FileSystem.get方法。
答案 0 :(得分:0)
// Check if a file exists
public boolean exists() throws IOException {
boolean isExists = false;
try{
FileSystem hdfs = FileSystem.get(new URI("hdfs://localhost:9000"),new Configuration());
Path newPath = new Path("/test.txt");
isExists = hdfs.exists(newPath);
hdfs.close();
}catch(IOException ex){
// log exception and then re-throw
throw ex;
}
return isExists;
}
注意 - hdfsRoot应为hdfs://localhost:9000
,file.getName()应为您的文件名。表示您的文件位置应为hdfs:// localhost:9000 / test.txt
让我知道如果不工作