Package org.apache.kafka.streams.kstream
Class Joined<K,V,VO>
java.lang.Object
org.apache.kafka.streams.kstream.Joined<K,V,VO>
The
Joined class represents optional params that can be passed to
KStream#join(KTable,...) and
KStream#leftJoin(KTable,...) operations.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <K,V, VO> Joined<K, V, VO> Create an instance ofJoinedwith base name for all components of the join, this may include any repartition topics created to complete the join.keySerde()static <K,V, VO> Joined<K, V, VO> Create an instance ofJoinedwith a keySerde.static <K,V, VO> Joined<K, V, VO> otherValueSerde(Serde<VO> otherValueSerde) Create an instance ofJoinedwith an other valueSerde.static <K,V, VO> Joined<K, V, VO> valueSerde(Serde<V> valueSerde) Create an instance ofJoinedwith a valueSerde.static <K,V, VO> Joined<K, V, VO> Create an instance ofJoinedwith key, value, and otherValueSerdeinstances.static <K,V, VO> Joined<K, V, VO> Create an instance ofJoinedwith key, value, and otherValueSerdeinstances.static <K,V, VO> Joined<K, V, VO> with(Serde<K> keySerde, Serde<V> valueSerde, Serde<VO> otherValueSerde, String name, Duration gracePeriod) Create an instance ofJoinedwith key, value, and otherValueSerdeinstances.withGracePeriod(Duration gracePeriod) Set the grace period on the stream side of the join.withKeySerde(Serde<K> keySerde) Set the keySerdeto be used.Set the base name used for all components of the join, this may include any repartition topics created to complete the join.withOtherValueSerde(Serde<VO> otherValueSerde) Set the otherValueSerdeto be used.withValueSerde(Serde<V> valueSerde) Set the valueSerdeto be used.
-
Field Details
-
keySerde
-
valueSerde
-
otherValueSerde
-
name
-
gracePeriod
-
-
Constructor Details
-
Joined
-
-
Method Details
-
with
public static <K,V, Joined<K,VO> V, withVO> (Serde<K> keySerde, Serde<V> valueSerde, Serde<VO> otherValueSerde) Create an instance ofJoinedwith key, value, and otherValueSerdeinstances.nullvalues are accepted and will be replaced by the default serdes as defined in config.- Type Parameters:
K- key typeV- value typeVO- other value type- Parameters:
keySerde- the key serde to use. Ifnullthe default key serde from config will be usedvalueSerde- the value serde to use. Ifnullthe default value serde from config will be usedotherValueSerde- the otherValue serde to use. Ifnullthe default value serde from config will be used- Returns:
- new
Joinedinstance with the provided serdes
-
with
public static <K,V, Joined<K,VO> V, withVO> (Serde<K> keySerde, Serde<V> valueSerde, Serde<VO> otherValueSerde, String name) Create an instance ofJoinedwith key, value, and otherValueSerdeinstances.nullvalues are accepted and will be replaced by the default serdes as defined in config.- Type Parameters:
K- key typeV- value typeVO- other value type- Parameters:
keySerde- the key serde to use. Ifnullthe default key serde from config will be usedvalueSerde- the value serde to use. Ifnullthe default value serde from config will be usedotherValueSerde- the otherValue serde to use. Ifnullthe default value serde from config will be usedname- the name used as the base for naming components of the join including any repartition topics- Returns:
- new
Joinedinstance with the provided serdes
-
with
public static <K,V, Joined<K,VO> V, withVO> (Serde<K> keySerde, Serde<V> valueSerde, Serde<VO> otherValueSerde, String name, Duration gracePeriod) Create an instance ofJoinedwith key, value, and otherValueSerdeinstances.nullvalues are accepted and will be replaced by the default serdes as defined in config.- Type Parameters:
K- key typeV- value typeVO- other value type- Parameters:
keySerde- the key serde to use. Ifnullthe default key serde from config will be usedvalueSerde- the value serde to use. Ifnullthe default value serde from config will be usedotherValueSerde- the otherValue serde to use. Ifnullthe default value serde from config will be usedname- the name used as the base for naming components of the join including any repartition topicsgracePeriod- stream buffer time- Returns:
- new
Joinedinstance with the provided serdes
-
keySerde
Create an instance ofJoinedwith a keySerde.nullvalues are accepted and will be replaced by the default key serde as defined in config.- Type Parameters:
K- key typeV- value typeVO- other value type- Parameters:
keySerde- the key serde to use. Ifnullthe default key serde from config will be used- Returns:
- new
Joinedinstance configured with the keySerde
-
valueSerde
Create an instance ofJoinedwith a valueSerde.nullvalues are accepted and will be replaced by the default value serde as defined in config.- Type Parameters:
K- key typeV- value typeVO- other value type- Parameters:
valueSerde- the value serde to use. Ifnullthe default value serde from config will be used- Returns:
- new
Joinedinstance configured with the valueSerde
-
otherValueSerde
Create an instance ofJoinedwith an other valueSerde.nullvalues are accepted and will be replaced by the default value serde as defined in config.- Type Parameters:
K- key typeV- value typeVO- other value type- Parameters:
otherValueSerde- the otherValue serde to use. Ifnullthe default value serde from config will be used- Returns:
- new
Joinedinstance configured with the otherValueSerde
-
as
Create an instance ofJoinedwith base name for all components of the join, this may include any repartition topics created to complete the join.- Type Parameters:
K- key typeV- value typeVO- other value type- Parameters:
name- the name used as the base for naming components of the join including any repartition topics- Returns:
- new
Joinedinstance configured with the name
-
withKeySerde
Set the keySerdeto be used. Null values are accepted and will be replaced by the default key serde as defined in config- Parameters:
keySerde- the key serde to use. If null the default key serde from config will be used- Returns:
- new
Joinedinstance configured with thename
-
withValueSerde
Set the valueSerdeto be used. Null values are accepted and will be replaced by the default value serde as defined in config- Parameters:
valueSerde- the value serde to use. If null the default value serde from config will be used- Returns:
- new
Joinedinstance configured with thevalueSerde
-
withOtherValueSerde
Set the otherValueSerdeto be used. Null values are accepted and will be replaced by the default value serde as defined in config- Parameters:
otherValueSerde- the otherValue serde to use. If null the default value serde from config will be used- Returns:
- new
Joinedinstance configured with thevalueSerde
-
withName
Set the base name used for all components of the join, this may include any repartition topics created to complete the join.- Parameters:
name- the name used as the base for naming components of the join including any repartition topics- Returns:
- new
Joinedinstance configured with thename
-
withGracePeriod
Set the grace period on the stream side of the join. Records will enter a buffer before being processed. Out of order records in the grace period will be processed in timestamp order. Late records, out of the grace period, will be executed right as they come in, if it is past the table history retention this could result in a null join. Long gaps in stream side arriving records will cause records to be delayed in processing.- Parameters:
gracePeriod- the duration of the grace period. Must be less than the joining table's history retention.- Returns:
- new
Joinedinstance configured with the gracePeriod
-
gracePeriod
-
keySerde
-
valueSerde
-
otherValueSerde
-