Class ClusterCountMapReduce
- java.lang.Object
-
- org.apache.tinkerpop.gremlin.process.computer.util.StaticMapReduce<MapReduce.NullObject,Serializable,MapReduce.NullObject,Integer,Integer>
-
- org.apache.tinkerpop.gremlin.process.computer.clustering.peerpressure.ClusterCountMapReduce
-
- All Implemented Interfaces:
Cloneable,MapReduce<MapReduce.NullObject,Serializable,MapReduce.NullObject,Integer,Integer>
public class ClusterCountMapReduce extends StaticMapReduce<MapReduce.NullObject,Serializable,MapReduce.NullObject,Integer,Integer>
- Author:
- Marko A. Rodriguez (http://markorodriguez.com)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classClusterCountMapReduce.Builder-
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.process.computer.MapReduce
MapReduce.MapEmitter<K,V>, MapReduce.NullObject, MapReduce.ReduceEmitter<OK,OV>, MapReduce.Stage
-
-
Field Summary
Fields Modifier and Type Field Description static StringCLUSTER_COUNT_MEMORY_KEYstatic StringDEFAULT_MEMORY_KEY-
Fields inherited from interface org.apache.tinkerpop.gremlin.process.computer.MapReduce
MAP_REDUCE
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ClusterCountMapReduce.Builderbuild()booleandoStage(MapReduce.Stage stage)A MapReduce job can be map-only, map-reduce-only, or map-combine-reduce.IntegergenerateFinalResult(Iterator<KeyValue<MapReduce.NullObject,Integer>> keyValues)The key/value pairs emitted by reduce() (or map() in a map-only job) can be iterated to generate a local JVM Java object.StringgetMemoryKey()The results of the MapReduce job are associated with a memory-key to ultimately be stored inMemory.voidloadState(Graph graph, org.apache.commons.configuration2.Configuration configuration)When it is necessary to load the state of a MapReduce job, this method is called.voidmap(Vertex vertex, MapReduce.MapEmitter<MapReduce.NullObject,Serializable> emitter)The map() method is logically executed at all vertices in the graph in parallel.voidreduce(MapReduce.NullObject key, Iterator<Serializable> values, MapReduce.ReduceEmitter<MapReduce.NullObject,Integer> emitter)The reduce() method is logically on the "machine" the respective key hashes to.voidstoreState(org.apache.commons.configuration2.Configuration configuration)When it is necessary to store the state of a MapReduce job, this method is called.StringtoString()-
Methods inherited from class org.apache.tinkerpop.gremlin.process.computer.util.StaticMapReduce
clone, equals, hashCode
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.tinkerpop.gremlin.process.computer.MapReduce
addResultToMemory, combine, getMapKeySort, getReduceKeySort, workerEnd, workerStart
-
-
-
-
Field Detail
-
CLUSTER_COUNT_MEMORY_KEY
public static final String CLUSTER_COUNT_MEMORY_KEY
- See Also:
- Constant Field Values
-
DEFAULT_MEMORY_KEY
public static final String DEFAULT_MEMORY_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
storeState
public void storeState(org.apache.commons.configuration2.Configuration configuration)
Description copied from interface:MapReduceWhen it is necessary to store the state of a MapReduce job, this method is called. This is typically required when the MapReduce job needs to be serialized to another machine. Note that what is stored is simply the instance state, not any processed data.- Specified by:
storeStatein interfaceMapReduce<MapReduce.NullObject,Serializable,MapReduce.NullObject,Integer,Integer>- Overrides:
storeStatein classStaticMapReduce<MapReduce.NullObject,Serializable,MapReduce.NullObject,Integer,Integer>- Parameters:
configuration- the configuration to store the state of the MapReduce job in.
-
loadState
public void loadState(Graph graph, org.apache.commons.configuration2.Configuration configuration)
Description copied from interface:MapReduceWhen it is necessary to load the state of a MapReduce job, this method is called. This is typically required when the MapReduce job needs to be serialized to another machine. Note that what is loaded is simply the instance state, not any processed data. It is important that the state loaded from loadState() is identical to any state created from a constructor. For those GraphComputers that do not need to use Configurations to migrate state between JVMs, the constructor will only be used.- Parameters:
graph- the graph the MapReduce job will run againstconfiguration- the configuration to load the state of the MapReduce job from.
-
doStage
public boolean doStage(MapReduce.Stage stage)
Description copied from interface:MapReduceA MapReduce job can be map-only, map-reduce-only, or map-combine-reduce. Before executing the particular stage, this method is called to determine if the respective stage is defined. This method should return true if the respective stage as a non-default method implementation.- Parameters:
stage- the stage to check for definition.- Returns:
- whether that stage should be executed.
-
map
public void map(Vertex vertex, MapReduce.MapEmitter<MapReduce.NullObject,Serializable> emitter)
Description copied from interface:MapReduceThe map() method is logically executed at all vertices in the graph in parallel. The map() method emits key/value pairs given some analysis of the data in the vertices (and/or its incident edges). AllMapReduceclasses must at least provide an implementation ofMapReduce#map(Vertex, MapEmitter).- Parameters:
vertex- the current vertex being map() processed.emitter- the component that allows for key/value pairs to be emitted to the next stage.
-
reduce
public void reduce(MapReduce.NullObject key, Iterator<Serializable> values, MapReduce.ReduceEmitter<MapReduce.NullObject,Integer> emitter)
Description copied from interface:MapReduceThe reduce() method is logically on the "machine" the respective key hashes to. The reduce() method combines all the values associated with the key and emits key/value pairs.- Parameters:
key- the key that has aggregated valuesvalues- the aggregated values associated with the keyemitter- the component that allows for key/value pairs to be emitted as the final result.
-
generateFinalResult
public Integer generateFinalResult(Iterator<KeyValue<MapReduce.NullObject,Integer>> keyValues)
Description copied from interface:MapReduceThe key/value pairs emitted by reduce() (or map() in a map-only job) can be iterated to generate a local JVM Java object.- Parameters:
keyValues- the key/value pairs that were emitted from reduce() (or map() in a map-only job)- Returns:
- the resultant object formed from the emitted key/values.
-
getMemoryKey
public String getMemoryKey()
Description copied from interface:MapReduceThe results of the MapReduce job are associated with a memory-key to ultimately be stored inMemory.- Returns:
- the memory key of the generated result object.
-
toString
public String toString()
- Overrides:
toStringin classStaticMapReduce<MapReduce.NullObject,Serializable,MapReduce.NullObject,Integer,Integer>
-
build
public static ClusterCountMapReduce.Builder build()
-
-