|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.hazelcast.mapreduce.LifecycleMapperAdapter<KeyIn,ValueIn,KeyOut,ValueOut>
KeyIn
- type of key used in the KeyValueSource
ValueIn
- type of value used in the KeyValueSource
KeyOut
- key type for mapped resultsValueOut
- value type for mapped results@Beta public abstract class LifecycleMapperAdapter<KeyIn,ValueIn,KeyOut,ValueOut>
The abstract LifecycleMapperAdapter superclass is used to ease building mappers for the Job
.
Most mappers will only implement the map(Object, Object, Context)
method to collect and
emit needed key-value pairs.
For more complex algorithms there is the possibility to override the initialize(Context)
and
finalized(Context)
methods as well.
A simple mapper could look like the following example:
public static class MyMapper extends LifecycleMapperAdapter<Integer, Integer, String, Integer> { public void map( Integer key, Integer value, Context<String, Integer> collector ) { collector.emit( String.valueOf( key ), value ); } }
If you want to know more about the implementation of MapReduce algorithms read the Google Whitepaper on MapReduce.
Constructor Summary | |
---|---|
LifecycleMapperAdapter()
|
Method Summary | |
---|---|
void |
finalized(Context<KeyOut,ValueOut> context)
This method is called after the Mapper.map(Object, Object, Context) method is executed for every value and
can be used to finalize the internal state of the mapper or to emit a special value. |
void |
initialize(Context<KeyOut,ValueOut> context)
This method is called before the Mapper.map(Object, Object, Context) method is executed for every value and
can be used to initialize the internal state of the mapper or to emit a special value. |
abstract void |
map(KeyIn key,
ValueIn value,
Context<KeyOut,ValueOut> context)
The map method is called for every single key-value pair in the bound KeyValueSource instance
on this cluster node and partition.Due to it's nature of a DataGrid Hazelcast distributes values all over the cluster and so this method is executed on multiple servers at the same time. If you want to know more about the implementation of MapReduce algorithms read the Google Whitepaper on MapReduce. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LifecycleMapperAdapter()
Method Detail |
---|
public void initialize(Context<KeyOut,ValueOut> context)
Mapper.map(Object, Object, Context)
method is executed for every value and
can be used to initialize the internal state of the mapper or to emit a special value.
initialize
in interface LifecycleMapper<KeyIn,ValueIn,KeyOut,ValueOut>
context
- Context to be used for emitting valuespublic abstract void map(KeyIn key, ValueIn value, Context<KeyOut,ValueOut> context)
KeyValueSource
instance
on this cluster node and partition.
map
in interface Mapper<KeyIn,ValueIn,KeyOut,ValueOut>
key
- key to mapvalue
- value to mapcontext
- Context to be used for emitting valuespublic void finalized(Context<KeyOut,ValueOut> context)
Mapper.map(Object, Object, Context)
method is executed for every value and
can be used to finalize the internal state of the mapper or to emit a special value.
finalized
in interface LifecycleMapper<KeyIn,ValueIn,KeyOut,ValueOut>
context
- Context to be used for emitting values
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |