Description
ValueMapper should have read-only access to the key for the value it is mapping. Sometimes the value transformation will depend on the key.
It is possible to do this with a full blown KeyValueMapper but that loses the promise that you won't change the key – so you might introduce a re-keying phase that is totally unnecessary. It also requires you to return an identity KeyValue object which costs something to construct (unless we are lucky and the optimizer elides it).
[ If mapValues() is guaranteed to be no less efficient than map() the issue may be moot, but I presume there are some optimizations that are valid with the former but not latter. ]
Attachments
Issue Links
- Is contained by
-
KAFKA-4218 Enable access to key in ValueTransformer
- Resolved
- is related to
-
KAFKA-7842 Reducer should have (read) access to key
- Open
-
KAFKA-7843 Initializer should have (read) access to key
- Open
- relates to
-
KAFKA-3745 Consider adding join key to ValueJoiner interface
- Resolved