我希望通过HDFS API访问本地文件系统。我有以下内容:
String filename;
//...
Path p = new Path(filename);
p.getFileSystem(new Configuration()).create(p);
问题是我在同一台机器上有HDFS节点,当我调用p.getFileSystem(new Configuration()).create(p);
时,它尝试创建HDFS文件,而不是本地文件。有没有办法通过p.getFileSystem(new Configuration()).create(p)
访问 本地 文件系统?
答案 0 :(得分:3)
文件名必须使用file://
String filePath="file:///tmp/test.txt";
public void createFile(String path,Configuration conf) throws IOException {
FileSystem fs = FileSystem.get(URI.create(path), conf);
fs.create(new Path(path));
fs.close();
}
适用于S3,HDFS和本地