Class GraphComputerTest.MapReduceB
-
-
Nested Class Summary
-
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 inherited from interface org.apache.tinkerpop.gremlin.process.computer.MapReduce
MAP_REDUCE
-
-
Constructor Summary
Constructors Constructor Description MapReduceB()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
doStage(MapReduce.Stage stage)
A MapReduce job can be map-only, map-reduce-only, or map-combine-reduce.List<Integer>
generateFinalResult(Iterator<KeyValue<Integer,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.String
getMemoryKey()
The results of the MapReduce job are associated with a memory-key to ultimately be stored inMemory
.Optional<Comparator<Integer>>
getReduceKeySort()
If aComparator
is provided, then all pairs leaving theMapReduce.ReduceEmitter
are sorted.void
map(Vertex vertex, MapReduce.MapEmitter<Integer,Integer> emitter)
The map() method is logically executed at all vertices in the graph in parallel.void
reduce(Integer key, Iterator<Integer> values, MapReduce.ReduceEmitter<Integer,Integer> emitter)
The reduce() method is logically on the "machine" the respective key hashes to.-
Methods inherited from class org.apache.tinkerpop.gremlin.process.computer.util.StaticMapReduce
clone, equals, hashCode, storeState, toString
-
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, loadState, workerEnd, workerStart
-
-
-
-
Method Detail
-
doStage
public boolean doStage(MapReduce.Stage stage)
Description copied from interface:MapReduce
A 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<Integer,Integer> emitter)
Description copied from interface:MapReduce
The 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). AllMapReduce
classes 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(Integer key, Iterator<Integer> values, MapReduce.ReduceEmitter<Integer,Integer> emitter)
Description copied from interface:MapReduce
The 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.
-
getReduceKeySort
public Optional<Comparator<Integer>> getReduceKeySort()
Description copied from interface:MapReduce
If aComparator
is provided, then all pairs leaving theMapReduce.ReduceEmitter
are sorted. If sorting is not required, thenOptional.empty()
should be returned as sorting is computationally expensive. The default implementation returnsOptional.empty()
.- Returns:
- an
Optional
of a comparator for sorting the reduce output.
-
getMemoryKey
public String getMemoryKey()
Description copied from interface:MapReduce
The 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.
-
generateFinalResult
public List<Integer> generateFinalResult(Iterator<KeyValue<Integer,Integer>> keyValues)
Description copied from interface:MapReduce
The 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.
-
-