Expand description
The high-level KStream and KTable DSL.
The DSL records a typed logical graph. It can then apply the JVM-compatible
topology optimizations, and it lowers the graph to the Processor-API
Topology.
Re-exports§
pub use cogrouped::CogroupedKStream;pub use config::Grouped;pub use config::Joined;pub use config::Materialized;pub use config::Repartitioned;pub use config::StreamJoined;pub use config::VersionedConfig;pub use emit::EmitStrategy;pub use global_table::GlobalKTable;pub use kgrouped::KGroupedStream;pub use kstream::BranchedStream;pub use kstream::KStream;pub use ktable::KTable;pub use session_windowed_cogrouped::SessionWindowedCogroupedStream;pub use session_windowed_kgrouped::SessionWindowedKGroupedStream;pub use sliding_windowed_cogrouped::SlidingWindowedCogroupedStream;pub use sliding_windowed_kgrouped::SlidingWindowedKGroupedStream;pub use suppress::BufferConfig;pub use suppress::Suppressed;pub use time_windowed_cogrouped::TimeWindowedCogroupedStream;pub use windowed_kgrouped::TimeWindowedKGroupedStream;pub use windows::JoinWindows;pub use windows::SessionWindowedSerde;pub use windows::SessionWindows;pub use windows::SlidingWindows;pub use windows::TimeWindowedSerde;pub use windows::TimeWindows;pub use windows::Window;pub use windows::Windowed;
Modules§
- cogrouped
- KIP-150 cogroup. It aggregates several co-partitioned input streams into one
KTable. Each stream has its own value typeVn, but they share the keyKand the output typeVOut, and each input contributes anAggregator<K, Vn, VOut>. - config
- DSL config objects that mirror the JVM
Grouped,Materialized, andRepartitioned. - emit
EmitStrategysets when a windowed aggregation forwards its results. It mirrors the JVMorg.apache.kafka.streams.kstream.EmitStrategy.on_window_update()is the default and emits on every update.on_window_close()emits each window’s final result once stream-time passes that window’s close.- global_
table GlobalKTable<K,V>: a fully-replicated lookup table.- kgrouped
KGroupedStream<K,V>: the handle between a group op and an aggregation.- kstream
KStream<K,V>handle and its stateless DSL ops.- ktable
KTable<K,V>: a materialized, changelog-backed table view.- session_
windowed_ cogrouped SessionWindowedCogroupedStream<K, VOut>: session-windowed KIP-150 cogroup.- session_
windowed_ kgrouped SessionWindowedKGroupedStream<K,V>: the handle betweenKGroupedStream::windowed_by_session(SessionWindows)and a terminal session aggregation (count/reduce/aggregate).- sliding_
windowed_ cogrouped SlidingWindowedCogroupedStream<K, VOut>: sliding-windowed KIP-150 cogroup.- sliding_
windowed_ kgrouped SlidingWindowedKGroupedStream<K,V>: the handle betweenKGroupedStream::windowed_by_sliding(SlidingWindows)and a terminal sliding (KIP-450) aggregation.- suppress
SuppressedandBufferConfig: the suppress configuration surface.- time_
windowed_ cogrouped TimeWindowedCogroupedStream<K, VOut>: the time-windowed KIP-150 cogroup.- windowed_
kgrouped TimeWindowedKGroupedStream<K,V>: the intermediate handle betweenKGroupedStream::windowed_by(TimeWindows)and a terminal windowed aggregation (count/reduce/aggregate).- windows
- Time windows, the
Windowed<K>output key, and a windowed output serde.
Structs§
- KGrouped
Table - Handle produced by
KTable::group_by[_explicit]. - Streams
Builder - The DSL entry point. Build a topology, then call
buildorbuild_optimized.