package ldbc.snb.datagen.hadoop; import ldbc.snb.datagen.objects.Person; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.mapreduce.Mapper; import java.io.IOException; /** * Created by aprat on 11/17/14. */ public class HadoopBlockMapper extends Mapper<LongWritable, Person, BlockKey, Person> { int mapId; int blockSize = 0; @Override public void setup(Mapper.Context context) { Configuration conf = context.getConfiguration(); mapId = context.getTaskAttemptID().getId(); blockSize = conf.getInt("ldbc.snb.datagen.generator.blockSize", 10000); } @Override public void map(LongWritable key, Person value, Mapper.Context context) throws IOException, InterruptedException { context.write(new BlockKey(key.get() / blockSize, new TupleKey(key.get(),value.accountId())), value); } }