如何在HDFS API中指定本地文件系统?

时间:2017-09-26 18:42:41

标签: java hadoop hdfs

我希望通过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)访问 本地 文件系统?

1 个答案:

答案 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和本地