View Javadoc

1   /**
2    *
3    * Licensed to the Apache Software Foundation (ASF) under one
4    * or more contributor license agreements.  See the NOTICE file
5    * distributed with this work for additional information
6    * regarding copyright ownership.  The ASF licenses this file
7    * to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance
9    * with the License.  You may obtain a copy of the License at
10   *
11   *     http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   */
19  package org.apache.hadoop.hbase.mapred;
20  
21  import java.io.IOException;
22  
23  import org.apache.hadoop.classification.InterfaceAudience;
24  import org.apache.hadoop.classification.InterfaceStability;
25  import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
26  import org.apache.hadoop.hbase.client.Result;
27  import org.apache.hadoop.mapred.JobConf;
28  import org.apache.hadoop.mapred.MapReduceBase;
29  import org.apache.hadoop.mapred.OutputCollector;
30  import org.apache.hadoop.mapred.Reporter;
31  
32  /**
33   * Pass the given key and record as-is to reduce
34   */
35  @Deprecated
36  @InterfaceAudience.Public
37  @InterfaceStability.Stable
38  public class IdentityTableMap
39  extends MapReduceBase
40  implements TableMap<ImmutableBytesWritable, Result> {
41  
42    /** constructor */
43    public IdentityTableMap() {
44      super();
45    }
46  
47    /**
48     * Use this before submitting a TableMap job. It will
49     * appropriately set up the JobConf.
50     *
51     * @param table table name
52     * @param columns columns to scan
53     * @param mapper mapper class
54     * @param job job configuration
55     */
56    @SuppressWarnings("unchecked")
57    public static void initJob(String table, String columns,
58      Class<? extends TableMap> mapper, JobConf job) {
59      TableMapReduceUtil.initTableMapJob(table, columns, mapper,
60        ImmutableBytesWritable.class,
61        Result.class, job);
62    }
63  
64    /**
65     * Pass the key, value to reduce
66     * @param key
67     * @param value
68     * @param output
69     * @param reporter
70     * @throws IOException
71     */
72    public void map(ImmutableBytesWritable key, Result value,
73        OutputCollector<ImmutableBytesWritable,Result> output,
74        Reporter reporter) throws IOException {
75  
76      // convert
77      output.collect(key, value);
78    }
79  }