package com.skp.experiment.common.mapreduce; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.mapreduce.Mapper; /** * reference data: * file format can be SequenceFile, TestFile * * @author skplanet * * @param <KEYIN> * @param <VALUEIN> * @param <KEYOUT> * @param <VALUEOUT> */ public class MemoryIntensiveMapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> extends Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { public static final String REFERENCE_DATA = MemoryIntensiveMapper.class.getName() + ".referenceData"; private Path referencePath; /** * in setup phase, read reference data, reference data can be either file or directory * */ @Override protected void setup(Context context) throws IOException, InterruptedException { Configuration conf = context.getConfiguration(); FileSystem fs = FileSystem.get(conf); String referenceDir = conf.get(REFERENCE_DATA); if (referenceDir != null) { referencePath = new Path(referenceDir); } } }