Package org.apache.kafka.streams.kstream
package org.apache.kafka.streams.kstream
Provides a high-level programming model (DSL) to express a (stateful) data flow computation over input
streams and tables.
Use StreamsBuilder as entry for your program.-
ClassDescriptionAggregator<K,
V, VAgg> TheAggregatorinterface for aggregating values of the given key.Branched<K,V> TheBranchedclass is used to define the optional parameters when building branches withBranchedKStream.BranchedKStream<K,V> Branches the records in the original stream based on the predicates supplied for the branch definitions.CogroupedKStream<K,VAgg> CogroupedKStreamis an abstraction of multiple grouped record streams ofKeyValuepairs.Consumed<K,V> TheConsumedclass is used to define the optional parameters when usingStreamsBuilderto build instances ofKStream,KTable, andGlobalKTable.This interface controls the strategy that can be used to control how we emit results in a processor.ForeachAction<K,V> TheForeachActioninterface for performing an action on akey-value pair.ForeachProcessor<K,V> Deprecated.Since 4.0 and should not be used any longer.GlobalKTable<K,V> GlobalKTableis an abstraction of a changelog stream from a primary-keyed table.Grouped<K,V> The class that is used to capture the key and valueSerdes and set the part of name used for repartition topics when performingKStream.groupBy(KeyValueMapper, Grouped),KStream.groupByKey(Grouped), orKTable.groupBy(KeyValueMapper, Grouped)operations.Initializer<VAgg>TheInitializerinterface for creating an initial value in aggregations.Joined<K,VLeft, VRight> TheJoinedclass represents optional params that can be passed toKStream#join(KTable,...)andKStream#leftJoin(KTable,...)operations.The window specifications used for joins.KeyValueMapper<K,V, VR> TheKeyValueMapperinterface for mapping akey-value pairto a new value of arbitrary type.KGroupedStream<K,V> KGroupedStreamis an abstraction of a grouped record stream ofKeyValuepairs.KGroupedTable<K,V> KGroupedTableis an abstraction of a re-grouped changelog stream from a primary-keyed table, usually on a different grouping key than the original primary key.KStream<K,V> KStreamis an abstraction of a record stream ofKeyValuepairs, i.e., each record is an independent entity/event in the real world.KTable<K,V> KTableis an abstraction of a changelog stream from a primary-keyed table.Materialized<K,V, S extends StateStore> Used to describe how aStateStoreshould be materialized.Merger<K,V> The interface for merging aggregate values forSessionWindowswith the given key.Predicate<K,V> ThePredicateinterface represents a predicate (boolean-valued function) of aKeyValuepair.Printed<K,V> An object to define the options used when printing aKStream.Produced<K,V> This class is used to provide the optional parameters when producing to new topics usingKStream.to(String, Produced).Reducer<V>TheReducerinterface for combining two values of the same type into a new value.Repartitioned<K,V> This class is used to provide the optional parameters for internal repartition topics.SessionWindowedCogroupKStreamis an abstraction of a windowed record stream ofKeyValuepairs.SessionWindowedKStreamis an abstraction of a windowed record stream ofKeyValuepairs.A session based window specification used for aggregating events into sessions.A sliding window used for aggregating events.StreamJoined<K,V1, V2> Class used to configure the name of the join processor, the repartition topic name, state stores or state store names in Stream-Stream join.Suppressed<K>Suppressed.BufferConfig<BC extends Suppressed.BufferConfig<BC>>Marker interface for a buffer configuration that will strictly enforce size constraints (bytes and/or number of records) on the buffer, so it is suitable for reducing duplicate results downstream, but does not promise to eliminate them entirely.Marker interface for a buffer configuration that is "strict" in the sense that it will strictly enforce the time bound and never emit early.TableJoined<K,KO> TheTableJoinedclass represents optional parameters that can be passed toKTable#join(KTable,Function,...)andKTable#leftJoin(KTable,Function,...)operations, for foreign key joins.TimeWindowedCogroupKStreamis an abstraction of a windowed record stream ofKeyValuepairs.TimeWindowedKStream<K,V> TimeWindowedKStreamis an abstraction of a windowed record stream ofKeyValuepairs.The fixed-size time-based window specifications used for aggregations.Transformer<K,V, R> Deprecated.Since 4.0.TransformerSupplier<K,V, R> Deprecated.Since 4.0.The unlimited window specifications used for aggregations.ValueJoiner<V1,V2, VR> TheValueJoinerinterface for joining two values into a new value of arbitrary type.ValueJoinerWithKey<K1,V1, V2, VR> TheValueJoinerWithKeyinterface for joining two values into a new value of arbitrary type.ValueMapper<V,VR> TheValueMapperinterface for mapping a value to a new value of arbitrary type.ValueMapperWithKey<K,V, VR> TheValueMapperWithKeyinterface for mapping a value to a new value of arbitrary type.ValueTransformer<V,VR> Deprecated.Since 4.0.ValueTransformerSupplier<V,VR> Deprecated.Since 4.0.ValueTransformerWithKey<K,V, VR> TheValueTransformerWithKeyinterface for stateful mapping of a value to a new value (with possible new type).ValueTransformerWithKeySupplier<K,V, VR> AValueTransformerWithKeySupplierinterface which can create one or moreValueTransformerWithKeyinstances.A single window instance, defined by its start and end timestamp.Windowed<K>The result key type of a windowed stream aggregation.The window specification for fixed size windows that is used to define window boundaries and grace period.