THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
/**
* {@code CogroupedKStream} is an abstraction of multiple <i>grouped</i> record streams of {@link KeyValue} pairs.
* It is an intermediate representation of one or more {@link KStream}s in order to apply one or more aggregation
* operations on the original {@link KStream} records.
* <p>
* It is an intermediate representation after a grouping of {@link KStream}s, before the aggregations are applied to
* the new partitions resulting in a {@link KTable}.
* <p>
* A {@code CogroupedKStream} must be obtained from a {@link KGroupedStream} via
* {@link KGroupedStream#cogroup(Initializer, Aggregator, org.apache.kafka.common.serialization.Serde, String) cogroup(...)}.
*
* @param <K> Type of keys
* @param <RK> Type of key in the table, either K or Windowed<K>
* @param <V> Type of aggregate values
*/
public interface CogroupedKStream<K, V> {
<T> CogroupedKStream<K, V> cogroup(final KGroupedStream<K, T> groupedStream,
final Aggregator<? super K, ? super T, V> aggregator);
KTable<K, V> aggregate(final Initializer<V> initializer,
final Serde<V> valueSerde,
final String storeName);
KTable<K, V> aggregate(final Initializer<V> initializer,
final StateStoreSupplier<KeyValueStore> storeSupplier);
KTable<Windowed<K>, V> aggregate(final Initializer<V> initializer,
final Merger<? super K, V> sessionMerger,
final SessionWindows sessionWindows,
final Serde<V> valueSerde,
final String storeName);
KTable<Windowed<K>, V> aggregate(final Initializer<V> initializer,
final Merger<? super K, V> sessionMerger,
final SessionWindows sessionWindows,
final StateStoreSupplier<SessionStore> storeSupplier);
<W extends Window> KTable<Windowed<K>, V> aggregate(final Initializer<V> initializer,
final Windows<W> windows,
final Serde<V> valueSerde,
final String storeName);
<W extends Window> KTable<Windowed<K>, V> aggregate(final Initializer<V> initializer,
final Windows<W> windows,
final StateStoreSupplier<WindowStore> storeSupplier);
} |
...