The
ValueMapperWithKey
interface for mapping a value to a new value of arbitrary type.
This is a stateless record-by-record operation, i.e,
apply(Object, Object)
is invoked individually for each
record of a stream (cf.
ValueTransformer
for stateful value transformation).
If
ValueMapperWithKey
is applied to a
key-value pair
record the
record's key is preserved.
Note that the key is read-only and should not be modified, as this can lead to corrupt partitioning.
If a record's key and value should be modified
KeyValueMapper
can be used.