Return-Path: Delivered-To: apmail-lucene-hadoop-commits-archive@locus.apache.org Received: (qmail 1211 invoked from network); 23 Mar 2006 22:53:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 23 Mar 2006 22:53:32 -0000 Received: (qmail 62601 invoked by uid 500); 23 Mar 2006 22:53:32 -0000 Delivered-To: apmail-lucene-hadoop-commits-archive@lucene.apache.org Received: (qmail 62559 invoked by uid 500); 23 Mar 2006 22:53:32 -0000 Mailing-List: contact hadoop-commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hadoop-dev@lucene.apache.org Delivered-To: mailing list hadoop-commits@lucene.apache.org Received: (qmail 62533 invoked by uid 99); 23 Mar 2006 22:53:32 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 23 Mar 2006 14:53:32 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 23 Mar 2006 14:53:31 -0800 Received: (qmail 1115 invoked by uid 65534); 23 Mar 2006 22:53:10 -0000 Message-ID: <20060323225310.1111.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r388288 - in /lucene/hadoop/trunk/src: examples/org/apache/hadoop/examples/ java/org/apache/hadoop/mapred/ webapps/mapred/ Date: Thu, 23 Mar 2006 22:52:47 -0000 To: hadoop-commits@lucene.apache.org From: cutting@apache.org X-Mailer: svnmailer-1.0.7 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: cutting Date: Thu Mar 23 14:52:44 2006 New Revision: 388288 URL: http://svn.apache.org/viewcvs?rev=388288&view=rev Log: Fix for HADOOP-46. Jobs can now be named. Contributed by Owen O'Malley. Modified: lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/Grep.java lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/WordCount.java lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobConf.java lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobProfile.java lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java lucene/hadoop/trunk/src/webapps/mapred/jobtracker.jsp Modified: lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/Grep.java URL: http://svn.apache.org/viewcvs/lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/Grep.java?rev=388288&r1=388287&r2=388288&view=diff ============================================================================== --- lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/Grep.java (original) +++ lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/Grep.java Thu Mar 23 14:52:44 2006 @@ -17,18 +17,15 @@ import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapred.JobClient; -import org.apache.hadoop.mapred.RunningJob; import org.apache.hadoop.mapred.SequenceFileOutputFormat; import org.apache.hadoop.mapred.SequenceFileInputFormat; import org.apache.hadoop.mapred.lib.RegexMapper; import org.apache.hadoop.mapred.lib.InverseMapper; import org.apache.hadoop.mapred.lib.LongSumReducer; -import org.apache.hadoop.mapred.lib.IdentityReducer; import org.apache.hadoop.io.UTF8; import org.apache.hadoop.io.LongWritable; -import org.apache.hadoop.io.WritableComparator; import org.apache.hadoop.conf.Configuration; @@ -52,6 +49,7 @@ Integer.toString(new Random().nextInt(Integer.MAX_VALUE))); JobConf grepJob = new JobConf(defaults, Grep.class); + grepJob.setJobName("grep-search"); grepJob.setInputDir(new File(args[0])); @@ -71,6 +69,7 @@ JobClient.runJob(grepJob); JobConf sortJob = new JobConf(defaults, Grep.class); + sortJob.setJobName("grep-sort"); sortJob.setInputDir(tempDir); sortJob.setInputFormat(SequenceFileInputFormat.class); Modified: lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/WordCount.java URL: http://svn.apache.org/viewcvs/lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/WordCount.java?rev=388288&r1=388287&r2=388288&view=diff ============================================================================== --- lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/WordCount.java (original) +++ lucene/hadoop/trunk/src/examples/org/apache/hadoop/examples/WordCount.java Thu Mar 23 14:52:44 2006 @@ -17,7 +17,6 @@ package org.apache.hadoop.examples; import java.io.*; -import java.net.URL; import java.util.*; import org.apache.hadoop.conf.Configuration; @@ -110,24 +109,25 @@ public static void main(String[] args) throws IOException { Configuration defaults = new Configuration(); - JobConf countJob = new JobConf(defaults, WordCount.class); + JobConf conf = new JobConf(defaults, WordCount.class); + conf.setJobName("wordcount"); // the keys are words (strings) - countJob.setOutputKeyClass(UTF8.class); + conf.setOutputKeyClass(UTF8.class); // the values are counts (ints) - countJob.setOutputValueClass(IntWritable.class); + conf.setOutputValueClass(IntWritable.class); - countJob.setMapperClass(MapClass.class); - countJob.setCombinerClass(Reduce.class); - countJob.setReducerClass(Reduce.class); + conf.setMapperClass(MapClass.class); + conf.setCombinerClass(Reduce.class); + conf.setReducerClass(Reduce.class); List other_args = new ArrayList(); for(int i=0; i < args.length; ++i) { try { if ("-m".equals(args[i])) { - countJob.setNumMapTasks(Integer.parseInt(args[++i])); + conf.setNumMapTasks(Integer.parseInt(args[++i])); } else if ("-r".equals(args[i])) { - countJob.setNumReduceTasks(Integer.parseInt(args[++i])); + conf.setNumReduceTasks(Integer.parseInt(args[++i])); } else { other_args.add(args[i]); } @@ -146,13 +146,13 @@ other_args.size() + " instead of 2."); printUsage(); } - countJob.setInputDir(new File((String) other_args.get(0))); - countJob.setOutputDir(new File((String) other_args.get(1))); + conf.setInputDir(new File((String) other_args.get(0))); + conf.setOutputDir(new File((String) other_args.get(1))); // Uncomment to run locally in a single process // countJob.set("mapred.job.tracker", "local"); - JobClient.runJob(countJob); + JobClient.runJob(conf); } } Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobConf.java URL: http://svn.apache.org/viewcvs/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobConf.java?rev=388288&r1=388287&r2=388288&view=diff ============================================================================== --- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobConf.java (original) +++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobConf.java Thu Mar 23 14:52:44 2006 @@ -302,6 +302,23 @@ public int getNumReduceTasks() { return getInt("mapred.reduce.tasks", 1); } public void setNumReduceTasks(int n) { setInt("mapred.reduce.tasks", n); } + /** + * Get the user-specified job name. This is only used to identify the + * job to the user. + * @return the job's name, defaulting to "" + */ + public String getJobName() { + return get("mapred.job.name", ""); + } + + /** + * Set the user-specified job name. + * @param name the job's new name + */ + public void setJobName(String name) { + set("mapred.job.name", name); + } + public Object newInstance(Class theClass) { Object result; try { Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java URL: http://svn.apache.org/viewcvs/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java?rev=388288&r1=388287&r2=388288&view=diff ============================================================================== --- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java (original) +++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobInProgress.java Thu Mar 23 14:52:44 2006 @@ -74,8 +74,8 @@ fs.copyToLocalFile(new File(jobFile), localJobFile); conf = new JobConf(localJobFile); - this.profile = new JobProfile(conf.getUser(), jobid, jobFile, url); - + this.profile = new JobProfile(conf.getUser(), jobid, jobFile, url, + conf.getJobName()); String jarFile = conf.getJar(); if (jarFile != null) { fs.copyToLocalFile(new File(jarFile), localJarFile); Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobProfile.java URL: http://svn.apache.org/viewcvs/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobProfile.java?rev=388288&r1=388287&r2=388288&view=diff ============================================================================== --- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobProfile.java (original) +++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/JobProfile.java Thu Mar 23 14:52:44 2006 @@ -40,6 +40,7 @@ String jobid; String jobFile; String url; + String name; /** */ @@ -48,11 +49,13 @@ /** */ - public JobProfile(String user, String jobid, String jobFile, String url) { + public JobProfile(String user, String jobid, String jobFile, String url, + String name) { this.user = user; this.jobid = jobid; this.jobFile = jobFile; this.url = url; + this.name = name; } /** @@ -85,6 +88,13 @@ } } + /** + * Get the user-specified job name. + */ + public String getJobName() { + return name; + } + /////////////////////////////////////// // Writable /////////////////////////////////////// @@ -93,12 +103,14 @@ UTF8.writeString(out, jobFile); UTF8.writeString(out, url); UTF8.writeString(out, user); + UTF8.writeString(out, name); } public void readFields(DataInput in) throws IOException { this.jobid = UTF8.readString(in); this.jobFile = UTF8.readString(in); this.url = UTF8.readString(in); this.user = UTF8.readString(in); + this.name = UTF8.readString(in); } } Modified: lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java URL: http://svn.apache.org/viewcvs/lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java?rev=388288&r1=388287&r2=388288&view=diff ============================================================================== --- lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java (original) +++ lucene/hadoop/trunk/src/java/org/apache/hadoop/mapred/LocalJobRunner.java Thu Mar 23 14:52:44 2006 @@ -56,7 +56,7 @@ fs.copyToLocalFile(new File(file), localFile); this.job = new JobConf(localFile); profile = new JobProfile(job.getUser(), id, file, - "http://localhost:8080/"); + "http://localhost:8080/", job.getJobName()); this.status.jobid = id; this.status.runState = JobStatus.RUNNING; Modified: lucene/hadoop/trunk/src/webapps/mapred/jobtracker.jsp URL: http://svn.apache.org/viewcvs/lucene/hadoop/trunk/src/webapps/mapred/jobtracker.jsp?rev=388288&r1=388287&r2=388288&view=diff ============================================================================== --- lucene/hadoop/trunk/src/webapps/mapred/jobtracker.jsp (original) +++ lucene/hadoop/trunk/src/webapps/mapred/jobtracker.jsp Thu Mar 23 14:52:44 2006 @@ -48,6 +48,7 @@ out.print("" + label + " Jobs \n"); if (jobs.size() > 0) { out.print("JobidUser"); + out.print("Name"); out.print("% completeRequired maps"); out.print("maps completed"); out.print("Required reduces"); @@ -64,9 +65,11 @@ int desiredReduces = job.desiredReduces(); int completedMaps = job.finishedMaps(); int completedReduces = job.finishedReduces(); + String name = profile.getJobName(); out.print("" + jobid + ""+ profile.getUser() + "" + + ("".equals(name) ? " " : name) + "" + percentFormat.format(completedRatio) + "%" + desiredMaps + "" + completedMaps + "" + desiredReduces + " " + completedReduces +