001/**
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements.  See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership.  The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License.  You may obtain a copy of the License at
009 *
010 *     http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018
019package org.apache.hadoop.mapred.lib;
020
021
022import org.apache.hadoop.classification.InterfaceAudience;
023import org.apache.hadoop.classification.InterfaceStability;
024import org.apache.hadoop.io.WritableComparable;
025import org.apache.hadoop.fs.Path;
026import org.apache.hadoop.mapred.JobConf;
027import org.apache.hadoop.mapred.Partitioner;
028
029/**
030 * Partitioner effecting a total order by reading split points from
031 * an externally generated source.
032 */
033@InterfaceAudience.Public
034@InterfaceStability.Stable
035public class TotalOrderPartitioner<K extends WritableComparable<?>,V>
036    extends org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner<K, V>
037    implements Partitioner<K,V> {
038
039  public TotalOrderPartitioner() { }
040
041  public void configure(JobConf job) {
042    super.setConf(job);
043  }
044
045  /**
046   * Set the path to the SequenceFile storing the sorted partition keyset.
047   * It must be the case that for <tt>R</tt> reduces, there are <tt>R-1</tt>
048   * keys in the SequenceFile.
049   * @deprecated Use 
050   * {@link #setPartitionFile(Configuration, Path)}
051   * instead
052   */
053  @Deprecated
054  public static void setPartitionFile(JobConf job, Path p) {
055    org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner.
056            setPartitionFile(job, p);
057  }
058
059  /**
060   * Get the path to the SequenceFile storing the sorted partition keyset.
061   * @see #setPartitionFile(JobConf,Path)
062   * @deprecated Use 
063   * {@link #getPartitionFile(Configuration)}
064   * instead
065   */
066  @Deprecated
067  public static String getPartitionFile(JobConf job) {
068    return org.apache.hadoop.mapreduce.lib.partition.TotalOrderPartitioner.
069            getPartitionFile(job);
070  }
071}