Skip to main content

Module dsl

Module dsl 

Source
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 type Vn, but they share the key K and the output type VOut, and each input contributes an Aggregator<K, Vn, VOut>.
config
DSL config objects that mirror the JVM Grouped, Materialized, and Repartitioned.
emit
EmitStrategy sets when a windowed aggregation forwards its results. It mirrors the JVM org.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 between KGroupedStream::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 between KGroupedStream::windowed_by_sliding(SlidingWindows) and a terminal sliding (KIP-450) aggregation.
suppress
Suppressed and BufferConfig: the suppress configuration surface.
time_windowed_cogrouped
TimeWindowedCogroupedStream<K, VOut>: the time-windowed KIP-150 cogroup.
windowed_kgrouped
TimeWindowedKGroupedStream<K,V>: the intermediate handle between KGroupedStream::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§

KGroupedTable
Handle produced by KTable::group_by[_explicit].
StreamsBuilder
The DSL entry point. Build a topology, then call build or build_optimized.