THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
KGroupedStream { //Copy of aggregate method signatures. ... <T> KCogroupedStream<KCogroupedKStream<K, K, T> cogroup(final Initializer<T> initializer, final Aggregator<? super K, ? super V, T> aggregator, final Serde<T> aggValueSerde, final String storeName); <T> KCogroupedStream<KCogroupedKStream<K, K, T> cogroup(final Initializer<T> initializer, final Aggregator<? super K, ? super V, T> aggregator, final StateStoreSupplier<KeyValueStore> storeSupplier); <T> KCogroupedStream<KCogroupedKStream<K, Windowed<K>, T> cogroup(final Initializer<T> initializer, final Aggregator<? super K, ? super V, T> aggregator, final Merger<? super K, T> sessionMerger, final SessionWindows sessionWindows, final Serde<T> aggValueSerde, final String storeName); <T> KCogroupedStream<KCogroupedKStream<K, Windowed<K>, T> cogroup(final Initializer<T> initializer, final Aggregator<? super K, ? super V, T> aggregator, final Merger<? super K, T> sessionMerger, final SessionWindows sessionWindows, final StateStoreSupplier<SessionStore> storeSupplier); <W extends Window, T> KCogroupedStream<KCogroupedKStream<K, Windowed<K>, T> cogroup(final Initializer<T> initializer, final Aggregator<? super K, ? super V, T> aggregator, final Windows<W> windows, final Serde<T> aggValueSerde, final String storeName); <W extends Window, T> KCogroupedStream<KCogroupedKStream<K, Windowed<K>, T> cogroup(final Initializer<T> initializer, final Aggregator<? super K, ? super V, T> aggregator, final Windows<W> windows, final StateStoreSupplier<WindowStore> storeSupplier); } |
Code Block |
---|
/** * {@code KCogroupedStream} 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 KCogroupedStream} 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 KCogroupedStream<KCogroupedKStream<K, RK, V> { /** * @return this KCogroupedStreamCogroupedKStream so you can chain calls */ <T> KCogroupedStream<KCogroupedKStream<K, RK, V> cogroup(KGroupedStream<K, T> groupedStream, Aggregator<? super K, ? super T, V> aggregator); KTable<RK, V> aggregate(); } |
...