我正在处理处理File对象的代码。我想将实际文件存储在HDFS中,但要将它们作为File对象检索。 我找到了方法pathToFile(Hadoop LocalFileSystem),它应该完全符合我的要求,但它似乎不起作用。 还有另一个问题,几乎相同的主题(How to convert a Hadoop Path object into a Java File object),但它没有解决。
是否有人实际使用过该方法并将Hadoop路径转换为Java文件?
fyi:我在互联网上搜索过,我甚至找不到使用pathToFile并且工作效率高的代码块。
在我的代码中:
String uri = args[0]; //give the hdsf path as argument
Configuration conf = new Configuration(); //create a Configuration obj
Path pathOfFile = new Path(uri); //create a Hadoop Path obj
LocalFileSystem myFS = FileSystem.getLocal(conf); //LocalFileSystem creation
File theFile = myFS.pathToFile(pathOfFile); // using pathToFile
答案 0 :(得分:0)
也许这段代码可以帮助用本地配置替换/ etc / hadoop / conf
Configuration configuration = new Configuration(); configuration.addResource("/etc/hadoop/conf/core-site.xml"); configuration.addResource("/etc/hadoop/conf/core-site.xml"); configuration.addResource("/etc/hadoop/conf/hdfs-site.xml"); FileSystem hdfsFileSystem = FileSystem.get(configuration); Path pathOfFile = new Path("/user/giorgos/test.txt"));