[
https://issues.apache.org/jira/browse/KAFKA-4726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steven Schlansker updated KAFKA-4726:
-------------------------------------
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. ]
was:
{{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.
[ 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. ]
> ValueMapper should have (read) access to key
> --------------------------------------------
>
> Key: KAFKA-4726
> URL: https://issues.apache.org/jira/browse/KAFKA-4726
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Affects Versions: 0.10.1.1
> Reporter: Steven Schlansker
>
> {{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. ]
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)