You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Elias Levy (JIRA)" <ji...@apache.org> on 2016/10/07 17:08:20 UTC

[jira] [Commented] (KAFKA-4217) KStream.transform equivalent of flatMap

    [ https://issues.apache.org/jira/browse/KAFKA-4217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15555654#comment-15555654 ] 

Elias Levy commented on KAFKA-4217:
-----------------------------------

It would seem to be the same request: allow a transform that emits multiple values.

Like Fodor, I am using {{ProcessorContext.forward}} to emit multiple values from {{Transformer.transform}}. Unlike him, I return {{null}} from the method instead of returning dummy values that must be filtered.

At the very least, it should be documented that one can use {{ProcessorContext.forward}} to emit multiple values from {{Transformer.transform}}.  Ideally, {{Transformer.transform}} would be modified to allow returning multiple values, or a variant of {{Transformer}} would allow you to do so.

> KStream.transform equivalent of flatMap
> ---------------------------------------
>
>                 Key: KAFKA-4217
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4217
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>    Affects Versions: 0.10.0.1
>            Reporter: Elias Levy
>            Assignee: Guozhang Wang
>
> {{KStream.transform}} gives you access to state stores while allowing you to return zero or one transformed {{KeyValue}}.  Alas, it is unclear what method you should use if you want to access state stores and return zero or multiple {{KeyValue}}.  Presumably you can use {{transform}}, always return {{null}}, and use {{ProcessorContext.forward}} to emit {{KeyValues}}.
> It may be good to introduce a {{transform}}-like {{flatMap}} equivalent, or allow store access from other {{KStream}} methods, such as {{flatMap}} itself.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)