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> extends Object implements LifecycleMapper<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 and Description |
---|
LifecycleMapperAdapter() |
Modifier and Type | Method and Description |
---|---|
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 its 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. |
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.public 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.Copyright © 2016 Hazelcast, Inc.. All Rights Reserved.