10

Hadoop ファイル システムからファイルを読み取りたい。

ファイルの正しいパスを取得するには、 のホスト名とポート アドレスが必要ですhdfs

最後に、ファイルのパスは次のようになります

Path path = new Path("hdfs://123.23.12.4344:9000/user/filename.txt")

ここで、HostName = "123.23.12.4344" & port: 9000 を抽出する方法を知りたいですか?

基本的には Amazon EMR 上の FileSystem にアクセスしたいのですが、

FileSystem fs = FileSystem.get(getConf());
私は得る
 
パスをサポートするファイル システムを取得するために FileSystem.get(uri, conf) を呼び出す必要があるときに、FileSystem.get(conf) を呼び出した可能性があります。
そこで、URI を使用することにしました。(URIを使用する必要があります)が、URIにアクセスする方法がわかりません。

4

1 に答える 1

15

エラーを解決するには、2 つの方法のいずれかを使用できます。

1.

String infile = "file.txt";
Path ofile = new Path(infile);
FileSystem fs = ofile.getFileSystem(getConf());

2.

Configuration conf = getConf();
System.out.println("fs.default.name : - " + conf.get("fs.default.name"));
// It prints uri  as : hdfs://10.214.15.165:9000 or something
String uri = conf.get("fs.default.name");
FileSystem fs = FileSystem.get(uri,getConf());
于 2012-11-27T06:48:52.203 に答える