Package org.apache.kafka.streams.kstream
Class Grouped<K,V>
- java.lang.Object
-
- org.apache.kafka.streams.kstream.Grouped<K,V>
-
- Type Parameters:
K
- the key typeV
- the value type
public class Grouped<K,V> extends Object
The class that is used to capture the key and valueSerde
s and set the part of name used for repartition topics when performingKStream.groupBy(KeyValueMapper, Grouped)
,KStream.groupByKey(Grouped)
, orKTable.groupBy(KeyValueMapper, Grouped)
operations. Note that Kafka Streams does not always create repartition topics for grouping operations.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <K,V>
Grouped<K,V>as(String name)
Create aGrouped
instance with the provided name used as part of the repartition topic if required.static <K,V>
Grouped<K,V>keySerde(Serde<K> keySerde)
Create aGrouped
instance with the provided keySerde.static <K,V>
Grouped<K,V>valueSerde(Serde<V> valueSerde)
Create aGrouped
instance with the provided valueSerde.static <K,V>
Grouped<K,V>with(String name, Serde<K> keySerde, Serde<V> valueSerde)
Create aGrouped
instance with the provided name, keySerde, and valueSerde.static <K,V>
Grouped<K,V>with(Serde<K> keySerde, Serde<V> valueSerde)
Create aGrouped
instance with the provided keySerde and valueSerde.Grouped<K,V>
withKeySerde(Serde<K> keySerde)
Perform the grouping operation using the provided keySerde for serializing the key.Grouped<K,V>
withName(String name)
Perform the grouping operation with the name for a repartition topic if required.Grouped<K,V>
withValueSerde(Serde<V> valueSerde)
Perform the grouping operation using the provided valueSerde for serializing the value.
-
-
-
Method Detail
-
as
public static <K,V> Grouped<K,V> as(String name)
Create aGrouped
instance with the provided name used as part of the repartition topic if required.- Parameters:
name
- the name used for a repartition topic if required- Returns:
- a new
Grouped
configured with the name - See Also:
KStream.groupByKey(Grouped)
,KStream.groupBy(KeyValueMapper, Grouped)
,KTable.groupBy(KeyValueMapper, Grouped)
-
keySerde
public static <K,V> Grouped<K,V> keySerde(Serde<K> keySerde)
Create aGrouped
instance with the provided keySerde. Ifnull
the default key serde from config will be used.- Parameters:
keySerde
- the Serde used for serializing the key. Ifnull
the default key serde from config will be used- Returns:
- a new
Grouped
configured with the keySerde - See Also:
KStream.groupByKey(Grouped)
,KStream.groupBy(KeyValueMapper, Grouped)
,KTable.groupBy(KeyValueMapper, Grouped)
-
valueSerde
public static <K,V> Grouped<K,V> valueSerde(Serde<V> valueSerde)
Create aGrouped
instance with the provided valueSerde. Ifnull
the default value serde from config will be used.- Parameters:
valueSerde
- theSerde
used for serializing the value. Ifnull
the default value serde from config will be used- Returns:
- a new
Grouped
configured with the valueSerde - See Also:
KStream.groupByKey(Grouped)
,KStream.groupBy(KeyValueMapper, Grouped)
,KTable.groupBy(KeyValueMapper, Grouped)
-
with
public static <K,V> Grouped<K,V> with(String name, Serde<K> keySerde, Serde<V> valueSerde)
Create aGrouped
instance with the provided name, keySerde, and valueSerde. If the keySerde and/or the valueSerde isnull
the default value for the respective serde from config will be used.- Parameters:
name
- the name used as part of the repartition topic name if requiredkeySerde
- theSerde
used for serializing the key. Ifnull
the default key serde from config will be usedvalueSerde
- theSerde
used for serializing the value. Ifnull
the default value serde from config will be used- Returns:
- a new
Grouped
configured with the name, keySerde, and valueSerde - See Also:
KStream.groupByKey(Grouped)
,KStream.groupBy(KeyValueMapper, Grouped)
,KTable.groupBy(KeyValueMapper, Grouped)
-
with
public static <K,V> Grouped<K,V> with(Serde<K> keySerde, Serde<V> valueSerde)
Create aGrouped
instance with the provided keySerde and valueSerde. If the keySerde and/or the valueSerde isnull
the default value for the respective serde from config will be used.- Parameters:
keySerde
- theSerde
used for serializing the key. Ifnull
the default key serde from config will be usedvalueSerde
- theSerde
used for serializing the value. Ifnull
the default value serde from config will be used- Returns:
- a new
Grouped
configured with the keySerde, and valueSerde - See Also:
KStream.groupByKey(Grouped)
,KStream.groupBy(KeyValueMapper, Grouped)
,KTable.groupBy(KeyValueMapper, Grouped)
-
withName
public Grouped<K,V> withName(String name)
Perform the grouping operation with the name for a repartition topic if required. Note that Kafka Streams does not always create repartition topics for grouping operations.- Parameters:
name
- the name used for the processor name and as part of the repartition topic name if required- Returns:
- a new
Grouped
instance configured with the name
-
withKeySerde
public Grouped<K,V> withKeySerde(Serde<K> keySerde)
Perform the grouping operation using the provided keySerde for serializing the key.
-
-