如您所知,Hadoop支持Generic Options。例如,您可以使用“-files”指定要复制到map reduce集群的文件。
但如何获得通用选项的价值?例如,我有一个命令:
hadoop jar job.jar JobClass -files /home/MapReduce/testFile.json输入输出
如您所见,我使用的是通用选项“-files”,此选项的值为“/home/MapReduce/testFile.json”,那么如何获取此值呢?
我尝试了GenericOptionsParser这样的课程:
String option = new GenericOptionsParser(conf, args).getCommandLine().getOptionValue("files");
但结果是NULL。我还将.getOptionValue()的参数更改为“-files”,也得到了NULL。
我也试过这样的代码:
String[] toolArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
但是上面的代码只获得了除通用选项之外的所有剩余命令选项,这与我的期望相反。