2017-01-13 47 views
0

mapreduceジョブからヤーンapplicationIdを取得する必要があります。私はそれを行うためのAPIを見つけることができません。私のMapReduceジョブの例:提出されたmapreduceジョブからヤーンapplicationIdを取得

Configuration conf = new Configuration(); 
Job job = Job.getInstance(conf, "word count"); 
job.setJarByClass(WordCount.class); 
job.setMapperClass(TokenizerMapper.class); 
job.setCombinerClass(IntSumReducer.class); 
job.setReducerClass(IntSumReducer.class); 
job.setOutputKeyClass(Text.class); 
job.setOutputValueClass(IntWritable.class); 
FileInputFormat.addInputPath(job, new Path(args[0])); 
FileOutputFormat.setOutputPath(job, new Path(args[1])); 
job.submit(); 
job.waitForCompletion(true); 

糸APPLICATIONIDを取得するjob.getJobIdに似たAPIはありますか?私はyarn application -listコマンドについて知っていますが、何らかのAPIを使って私のプログラムでapplicationIdを知ることができる必要があります。 jobIdは、私が解析できる接頭辞( 'job'と 'application')のapplicationId execptと同じですが、使用できるAPIから何かがあることを期待しています。

答えて

1

「job」プレフィックスを削除し、「application」プレフィックスを追加するとapplicationIdがmapreduceジョブで公開されず、基本的に異なるプレフィックスを持つjobIdと同じIDです。これはハッキーなアプローチですが、今のところうまくいきます。

関連する問題