コマンドラインなしでJavaを使用してHadoopのからファイルを読み取る方法、私は以下のコードは、私はHadoopのシステムからファイルを読みたかった
String uri = theFilename;
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri), conf);
InputStream in = null;
try {
in = fs.open(new Path(uri));
IOUtils.copyBytes(in, System.out, 4096, false);
} finally {
IOUtils.closeStream(in);
}
を使用して、私はHadoopのジャーMYJARを実行する必要があり、このファイルを実行することを行うことができます。 jar com.mycompany.cloud.CatFile/filepathin_hadoop これは機能します。しかし、どうすれば他のプログラムから同じことをすることができます、私はhadoop jarコマンドを使用せずに意味します。
は、コードの同じ部分を添加し、日食からのenv変数としてHADOOP_HOMEパラメータを設定し、まだするSystem.out.println(hdfs.getHomeDirectory())を有します。ローカルのファイルシステムディレクトリを表示します。 – user1249655
私は私の答えを編集しました。 Stringの代わりにcore-site.xmlへのパスを使用するのを忘れてしまった。 –