@Override protected void setup(Context context) throws IOException, InterruptedException { // TODO Auto-generated method stub super.setup(context); InputSplit split = context.getInputSplit(); System.out.println("***************Mapper's setup is being executed***************"); FileSplit FS = (FileSplit) split; long datastart = FS.getStart(); System.out.println("***************GetStart() returns " + datastart + " ***************"); long datalongth = FS.getLength(); System.out.println("***************getLength() returns " + datalongth + " ***************"); String[] datalocations = FS.getLocations(); System.out.println( "***************getLocations() returns " + datalocations.length + " locations***************"); for (int i = 0; i < datalocations.length; i++) { System.out.println( "***************No." + i + " location is : " + datalocations[i] + " ***************"); } Path path = FS.getPath(); System.out.println( "***************getLocations() returns " + path.toString() + " ***************"); }
public void map(Object key, Text value, Context context) throws IOException, InterruptedException { Configuration conf = context.getConfiguration(); FileSplit split = (FileSplit) context.getInputSplit(); String rootFolder = split.getPath().getParent().toString(); String uri = rootFolder + "/" + value.toString(); // C:/hadoopsample/input/images+"/"+image1.jpg"; FileSystem fs = FileSystem.get(URI.create(uri), conf); FSDataInputStream in = null; try { in = fs.open(new Path(uri)); java.io.ByteArrayOutputStream bout = new ByteArrayOutputStream(); byte buffer[] = new byte[1024 * 1024]; while (in.read(buffer, 0, buffer.length) >= 0) { bout.write(buffer); } context.write(value, new BytesWritable(bout.toByteArray())); } finally { IOUtils.closeStream(in); } }
@Override protected void setup(Context context) throws IOException, InterruptedException { super.setup(context); fileName = ((FileSplit) context.getInputSplit()).getPath().getName(); }