JobID.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:4k
源码类别:

网格计算

开发平台:

Java

  1. /**
  2.  * Licensed to the Apache Software Foundation (ASF) under one
  3.  * or more contributor license agreements.  See the NOTICE file
  4.  * distributed with this work for additional information
  5.  * regarding copyright ownership.  The ASF licenses this file
  6.  * to you under the Apache License, Version 2.0 (the
  7.  * "License"); you may not use this file except in compliance
  8.  * with the License.  You may obtain a copy of the License at
  9.  *
  10.  *     http://www.apache.org/licenses/LICENSE-2.0
  11.  *
  12.  * Unless required by applicable law or agreed to in writing, software
  13.  * distributed under the License is distributed on an "AS IS" BASIS,
  14.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15.  * See the License for the specific language governing permissions and
  16.  * limitations under the License.
  17.  */
  18. package org.apache.hadoop.mapred;
  19. import java.io.DataInput;
  20. import java.io.IOException;
  21. /**
  22.  * JobID represents the immutable and unique identifier for 
  23.  * the job. JobID consists of two parts. First part 
  24.  * represents the jobtracker identifier, so that jobID to jobtracker map 
  25.  * is defined. For cluster setup this string is the jobtracker 
  26.  * start time, for local setting, it is "local".
  27.  * Second part of the JobID is the job number. <br> 
  28.  * An example JobID is : 
  29.  * <code>job_200707121733_0003</code> , which represents the third job 
  30.  * running at the jobtracker started at <code>200707121733</code>. 
  31.  * <p>
  32.  * Applications should never construct or parse JobID strings, but rather 
  33.  * use appropriate constructors or {@link #forName(String)} method. 
  34.  * 
  35.  * @see TaskID
  36.  * @see TaskAttemptID
  37.  */
  38. @Deprecated
  39. public class JobID extends org.apache.hadoop.mapreduce.JobID {
  40.   /**
  41.    * Constructs a JobID object 
  42.    * @param jtIdentifier jobTracker identifier
  43.    * @param id job number
  44.    */
  45.   public JobID(String jtIdentifier, int id) {
  46.     super(jtIdentifier, id);
  47.   }
  48.   
  49.   public JobID() { }
  50.   /**
  51.    * Downgrade a new JobID to an old one
  52.    * @param old a new or old JobID
  53.    * @return either old or a new JobID build to match old
  54.    */
  55.   public static JobID downgrade(org.apache.hadoop.mapreduce.JobID old) {
  56.     if (old instanceof JobID) {
  57.       return (JobID) old;
  58.     } else {
  59.       return new JobID(old.getJtIdentifier(), old.getId());
  60.     }
  61.   }
  62.   @Deprecated
  63.   public static JobID read(DataInput in) throws IOException {
  64.     JobID jobId = new JobID();
  65.     jobId.readFields(in);
  66.     return jobId;
  67.   }
  68.   /** Construct a JobId object from given string 
  69.    * @return constructed JobId object or null if the given String is null
  70.    * @throws IllegalArgumentException if the given string is malformed
  71.    */
  72.   public static JobID forName(String str) throws IllegalArgumentException {
  73.     return (JobID) org.apache.hadoop.mapreduce.JobID.forName(str);
  74.   }
  75.   
  76.   /** 
  77.    * Returns a regex pattern which matches task IDs. Arguments can 
  78.    * be given null, in which case that part of the regex will be generic.  
  79.    * For example to obtain a regex matching <i>any job</i> 
  80.    * run on the jobtracker started at <i>200707121733</i>, we would use :
  81.    * <pre> 
  82.    * JobID.getTaskIDsPattern("200707121733", null);
  83.    * </pre>
  84.    * which will return :
  85.    * <pre> "job_200707121733_[0-9]*" </pre> 
  86.    * @param jtIdentifier jobTracker identifier, or null
  87.    * @param jobId job number, or null
  88.    * @return a regex pattern matching JobIDs
  89.    */
  90.   @Deprecated
  91.   public static String getJobIDsPattern(String jtIdentifier, Integer jobId) {
  92.     StringBuilder builder = new StringBuilder(JOB).append(SEPARATOR);
  93.     builder.append(getJobIDsPatternWOPrefix(jtIdentifier, jobId));
  94.     return builder.toString();
  95.   }
  96.   
  97.   @Deprecated
  98.   static StringBuilder getJobIDsPatternWOPrefix(String jtIdentifier,
  99.                                                 Integer jobId) {
  100.     StringBuilder builder = new StringBuilder();
  101.     if (jtIdentifier != null) {
  102.       builder.append(jtIdentifier);
  103.     } else {
  104.       builder.append("[^").append(SEPARATOR).append("]*");
  105.     }
  106.     builder.append(SEPARATOR)
  107.       .append(jobId != null ? idFormat.format(jobId) : "[0-9]*");
  108.     return builder;
  109.   }
  110. }