我使用java Class而不是命令hadoop jar / input / output运行我的hadoop作业。 在这种情况下,我的命令看起来像这样。 hadoop jar Main.class / input / location / output / location / thirdargument / file。 我知道如何在Main中的Driver类中添加输入路径和输出路径,但是如何添加输入依赖的第三个参数来获取输出。 下面是我添加输入和输出路径的方法。
请帮助添加第三个参数。
FileInputFormat.addInputPath(job, new Path("/path1/")); //inputpath
FileOutputFormat.setOutputPath(job, new Path("/path2/")); //outputpath
第三个参数添加?
答案 0 :(得分:0)
我不知道是否可以通过添加其他路径获取第三个文件,但您可以使用,
try{
Path pt=new Path("hdfs://npvm11.np.wc1.yellowpages.com:9000/user/john/abc.txt");
FileSystem fs = FileSystem.get(new Configuration());
BufferedReader br=new BufferedReader(new InputStreamReader(fs.open(pt)));
String line;
line=br.readLine();
while (line != null){
System.out.println(line);
line=br.readLine();
}
}catch(Exception e){
}
我是从https://sites.google.com/site/hadoopandhive/home/hadoop-how-to-read-a-file-from-hdfs
获得的答案 1 :(得分:0)
我查了一下这个方法。这个对我有用。 (Apache Hadoop 1.2.1)
FileInputFormat.setInputPaths(conf, new Path(args[0]));
//输入1
FileInputFormat.setInputPaths(conf, new Path(args[1]));
//输入2
FileOutputFormat.setOutputPath(conf, new Path(args[2]));
//输出
我在发出命令时传递这些参数。
hadoop jar <jarfilepath> <class name> <Input1> <Input2> <Output>