1 /* Copyright (c) 2008 Sascha Kohlmann
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU Affero General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Affero General Public License for more details.
12 *
13 * You should have received a copy of the GNU Affero General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 package net.sf.eos.hadoop.mapred.index;
17
18 import net.sf.eos.hadoop.mapred.AbstractEosDriver;
19
20 import org.apache.hadoop.conf.Configuration;
21 import org.apache.hadoop.io.LongWritable;
22 import org.apache.hadoop.io.Text;
23 import org.apache.hadoop.mapred.JobConf;
24 import org.apache.hadoop.util.ToolRunner;
25
26 /**
27 * @author Sascha Kohlmann
28 * @see IndexMapper
29 * @see IndexReducer
30 */
31 public class IndexMapReduceDriver extends AbstractEosDriver {
32
33 /**
34 * @param args
35 */
36 public static void main(final String[] args) throws Exception {
37 final int res = ToolRunner.run(new Configuration(),
38 new IndexMapReduceDriver(),
39 args);
40 System.exit(res);
41 }
42
43 /** Starts the job. */
44 @Override
45 public int run(final String[] args) throws Exception {
46 super.run(args);
47 final JobConf conf = getJobConf();
48
49 conf.setJobName("\u03b5\u00b7\u03bf\u00b7s\u00b7\u00b7\u00b7 Index");
50
51 conf.setMapperClass(IndexMapper.class);
52 conf.setReducerClass(IndexReducer.class);
53
54 conf.setOutputFormat(LuceneOutputFormat.class);
55 conf.setOutputKeyClass(LongWritable.class);
56 conf.setOutputValueClass(Text.class);
57
58 return doJob(conf);
59 }
60 }