THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||
---|---|---|---|---|
| ||||
public synchronized <K, V> KTable<K, V> table(final String topic); public synchronized <K, V> KTable<K, V> table(final String topic, final Consumed<Windowed<K>Consumed<K, V> consumed); public synchronized <K, V> KTable<K, V> table(final String topic, final Materialized<Windowed<K>Materialized<K, V, KeyValueStore<Bytes, byte[]>> materialized); public synchronized <K, V> KTable<K, V> table(final String topic, final Consumed<Windowed<K>Consumed<K, V> consumed, final Materialized<Windowed<K>Materialized<K, V, KeyValueStore<Bytes, byte[]>> materialized); |
Through Materialized struct, we could pass in a KeyValueStore<Bytes, byte[]> struct as the local state store. In fact, underlying KTable class by default stores data in a key-value store backed up by RocksDB. We want to also support window store which is a very natural requirement if we are materializing a windowed topic with windowed key.
Proposed Changes
...
Code Block | ||||
---|---|---|---|---|
| ||||
public synchronized <K, V> KTable<Windowed<K>, V> windowedTable(final String topic); public synchronized <K, V> KTable<Windowed<K>, V> windowedTable(final String topic, final Consumed<KConsumed<Windowed<K>, V> consumed); public synchronized <K, V> KTable<Windowed<K>, V> windowedTable(final String topic, final Materialized<KMaterialized<Windowed<K>, V, WindowStore<Bytes, byte[]>> materialized); public synchronized <K, V> KTable<Windowed<K>, V> windowedTable(final String topic, final Consumed<KConsumed<Windowed<K>, V> consumed, final Materialized<KMaterialized<Windowed<K>, V, WindowStore<Bytes, byte[]>> materialized); |
...