如何在hadoop作业中传递第三个参数

dluptydi  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(269)

我使用java类而不是命令hadoopjar/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

第三个附加参数?

gwo2fgha

gwo2fgha1#

我不知道通过添加另一个路径是否可以获取第三个文件,但您可以使用,

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){
}

我得到了它from:httpshttp://sites.google.com/site/hadoopandhive/home/hadoop-how-to-read-a-file-from-hdfs

w46czmvw

w46czmvw2#

我检查了这个方法。这对我很有用(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>

相关问题