Java tutorial
/* * Copyright 2009-2010 by The Regents of the University of California * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may obtain a copy of the License from * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package edu.uci.ics.pregelix.api.io.generated; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.Writable; import org.apache.hadoop.io.WritableComparable; import org.apache.hadoop.mapreduce.InputSplit; import org.apache.hadoop.mapreduce.TaskAttemptContext; import edu.uci.ics.pregelix.api.io.BasicGenInputSplit; import edu.uci.ics.pregelix.api.io.VertexReader; /** * Used by GeneratedVertexInputFormat to read some generated data * * @param <I> * Vertex index value * @param <V> * Vertex value * @param <E> * Edge value */ @SuppressWarnings("rawtypes") public abstract class GeneratedVertexReader<I extends WritableComparable, V extends Writable, E extends Writable, M extends Writable> implements VertexReader<I, V, E, M> { /** Records read so far */ protected long recordsRead = 0; /** Total records to read (on this split alone) */ protected long totalRecords = 0; /** The input split from initialize(). */ protected BasicGenInputSplit inputSplit = null; /** Reverse the id order? */ protected boolean reverseIdOrder; protected Configuration configuration = null; public static final String READER_VERTICES = "GeneratedVertexReader.reader_vertices"; public static final long DEFAULT_READER_VERTICES = 10; public static final String REVERSE_ID_ORDER = "GeneratedVertexReader.reverseIdOrder"; public static final boolean DEAFULT_REVERSE_ID_ORDER = false; public GeneratedVertexReader() { } @Override final public void initialize(InputSplit inputSplit, TaskAttemptContext context) throws IOException { configuration = context.getConfiguration(); totalRecords = configuration.getLong(GeneratedVertexReader.READER_VERTICES, GeneratedVertexReader.DEFAULT_READER_VERTICES); reverseIdOrder = configuration.getBoolean(GeneratedVertexReader.REVERSE_ID_ORDER, GeneratedVertexReader.DEAFULT_REVERSE_ID_ORDER); this.inputSplit = (BasicGenInputSplit) inputSplit; } @Override public void close() throws IOException { } @Override final public float getProgress() throws IOException { return recordsRead * 100.0f / totalRecords; } }