Hi,

You don't need to set the serde until you do another operation that
requires serialization, i.e., if you followed the join with a `to()`,
`groupBy()` etc, you would pass in the serde to that operation.

Thanks,
Damian

On Thu, 16 Nov 2017 at 10:53 sy.pan <shengyi....@gmail.com> wrote:

> Hi, all:
>
> Recently I have read kafka streams join document(
> https://docs.confluent.io/current/streams/developer-guide.html#kafka-streams-dsl
> <
> https://docs.confluent.io/current/streams/developer-guide.html#kafka-streams-dsl>).
> The sample code is pasted below:
>
> import java.util.concurrent.TimeUnit;
> KStream<String, Long> left = ...;
> KStream<String, Double> right = ...;
> // Java 7 example
> KStream<String, String> joined = left.join(right,
>     new ValueJoiner<Long, Double, String>() {
>       @Override
>       public String apply(Long leftValue, Double rightValue) {
>         return "left=" + leftValue + ", right=" + rightValue;
>       }
>     },
>     JoinWindows.of(TimeUnit.MINUTES.toMillis(5)),
>     Serdes.String(), /* key */
>     Serdes.Long(),   /* left value */
>     Serdes.Double()  /* right value */
>   );
>
> so the question is :
>
> 1) which parameter is used for setting result value(returned by
> ValueJoiner) Serdes class ?
>     the sample code only set key , left value and right value Serdes class.
>
> 2) if ValueJoiner return customer value type,  how to set the result value
> Serdes class ?
>
>
>
>

Reply via email to