3

有効な hdfs url から作成された Hadoop FileSystem のインスタンスを使用して、別の hdfs url の読み取りと書き込みに再度使用することは可能ですか?私は次のことを試しました

String url1 = "hdfs://localhost:54310/file1.txt";
String url2 = "hdfs://localhost:54310/file2.txt";
String url3 = "hdfs://localhost:54310/file3.txt";

//Creating filesystem using url1
FileSystem fileSystem = FileSystem.get(URI.create(url1), conf);

//Using same filesystem with url2 and url3  
InputStream in = fileSystem.open(new Path(url2));
OutputStream out = fileSystem.create(new Path(url3));

これは機能しますが、これにより他の問題が発生します。

4

2 に答える 2

9

FileSystemスキームとアドレスを使用してシングルを作成し、 FileSystem.

Configuration conf = new Configuration();
conf.set("fs.default.name","hdfs://localhost:54310");
FileSystem fs = FileSystem.get(conf);
InputStream is = fs.open(new Path("/file1.txt"));
于 2012-10-31T10:56:20.230 に答える
0

異なる dfs パスの場合、create/open メソッドは失敗します。org.apache.hadoop.fs.FileSystem#checkPath メソッドを見てください。

于 2012-10-31T10:36:17.497 に答える