StoreBuilder<KeyValueStore<String, Long>> wordCountsStore = Stores.keyValueStoreBuilder( Stores.persistentKeyValueStore("WordCountsStore"), Serdes.String(), Serdes.Long())
StoreBuilder<WindowStore<String, Long>> dedupStoreBuilder = Stores.windowStoreBuilder( Stores.persistentWindowStore(storeName, retentionPeriod, numberOfSegments,
/** * Create a persistent {@link SessionBytesStoreSupplier}. * @param name name of the store (cannot be {@code null}) * @param retentionPeriod length ot time to retain data in the store (cannot be negative) * Note that the retention period must be at least long enough to contain the * windowed data's entire life cycle, from window-start through window-end, * and for the entire grace period. * @return an instance of a {@link SessionBytesStoreSupplier} */ @SuppressWarnings("deprecation") public static SessionBytesStoreSupplier persistentSessionStore(final String name, final Duration retentionPeriod) { ApiUtils.validateMillisecondDuration(retentionPeriod, "retentionPeriod"); return persistentSessionStore(name, retentionPeriod.toMillis()); }
switch (spec.getType()) { case KEYVALUE: builder = Stores.keyValueStoreBuilder(Stores.persistentKeyValueStore(spec.getName()), keySerde, valueSerde); break; case WINDOW: builder = Stores.windowStoreBuilder(Stores.persistentWindowStore(spec.getName(), spec.getRetention(), 3, spec.getLength(), false), keySerde, valueSerde); break; case SESSION: builder = Stores.sessionStoreBuilder(Stores.persistentSessionStore(spec.getName(), spec.getRetention()), keySerde, valueSerde); break; default:
/** * Build all {@link StoreBuilder} used to store aggregate states for stages. * * @return a new collection of {@link StoreBuilder}. */ public StoreBuilder<AggregatesStore<K>> getAggregateStateStores() { final String storeName = QueryStores.getQueryAggregateStatesStoreName(queryName); KeyValueBytesStoreSupplier storeSupplier = Stores.persistentKeyValueStore(storeName); return QueryStores.aggregatesStoreBuilder(storeSupplier); }
/** * {@inheritDoc} */ @Override public NFAStore<K, V> build() { StoreBuilder<KeyValueStore<Bytes, byte[]>> builder = Stores.keyValueStoreBuilder(storeSupplier, Serdes.Bytes(), Serdes.ByteArray()); return new NFAStoreImpl<>(builder.build(), stages, keySerde, valueSerde); } }
public static void main(String[] args) throws IOException { Properties props = new Properties(); props.put(StreamsConfig.APPLICATION_ID_CONFIG, "streams-wordcount-processor"); props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "kafka0:19092"); props.put(StreamsConfig.ZOOKEEPER_CONNECT_CONFIG, "zookeeper0:12181/kafka"); props.put(StreamsConfig.KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass()); props.put(StreamsConfig.VALUE_SERDE_CLASS_CONFIG, Serdes.Integer().getClass()); props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest"); TopologyBuilder builder = new TopologyBuilder(); builder.addSource("SOURCE", new StringDeserializer(), new StringDeserializer(), "words") .addProcessor("WordCountProcessor", WordCountProcessor::new, "SOURCE") .addStateStore(Stores.create("Counts").withStringKeys().withIntegerValues().inMemory().build(), "WordCountProcessor") // .connectProcessorAndStateStores("WordCountProcessor", "Counts") .addSink("SINK", "count", new StringSerializer(), new IntegerSerializer(), "WordCountProcessor"); KafkaStreams stream = new KafkaStreams(builder, props); stream.start(); System.in.read(); stream.close(); stream.cleanUp(); }
+ " retention=[" + retentionPeriod + "]"); supplier = Stores.persistentSessionStore( materialized.storeName(), retentionPeriod ); final StoreBuilder<SessionStore<K, VR>> builder = Stores.sessionStoreBuilder( supplier, materialized.keySerde(),
/** * Build a new {@link StoreBuilder} used to store match sequences. * * @param keySerde the key {@link Serde}. * @param valueSerde the value {@link Serde}. * @return a new {@link StoreBuilder} instance. */ public StoreBuilder<SharedVersionedBufferStore<K, V>> getEventBufferStoreBuilder(final Serde<K> keySerde, final Serde<V> valueSerde) { final String storeName = QueryStores.getQueryEventBufferStoreName(queryName); KeyValueBytesStoreSupplier storeSupplier = Stores.persistentKeyValueStore(storeName); return QueryStores.bufferStoreBuilder(storeSupplier, keySerde, valueSerde); } }
@Override public SharedVersionedBufferStore<K, V> build() { StoreBuilder<KeyValueStore<Bytes, byte[]>> builder = Stores.keyValueStoreBuilder(storeSupplier, Serdes.Bytes(), Serdes.ByteArray()); return new SharedVersionedBufferStoreImpl<>(builder.build(), keySerde, valueSerde); } }
Stores.create("FAST-store") .withStringKeys() .withDoubleValues()
.keyValueStoreBuilder(Stores.persistentKeyValueStore(RESERVED_STOCK_STORE_NAME), Topics.WAREHOUSE_INVENTORY.keySerde(), Serdes.Long()) .withLoggingEnabled(new HashMap<>());
/** * Build a persistent {@link StoreBuilder}. * * @param keySerde the key {@link Serde}. * @param valueSerde the value {@link Serde}. * @return a new {@link StoreBuilder} instance. */ public StoreBuilder<NFAStore<K, V>> getNFAStateStoreBuilder(final Serde<K> keySerde, final Serde<V> valueSerde) { final String storeName = QueryStores.getQueryNFAStoreName(queryName); final KeyValueBytesStoreSupplier storeSupplier = Stores.persistentKeyValueStore(storeName); return QueryStores.nfaStoreBuilder(storeSupplier, stages.getAllStages(), keySerde, valueSerde); }
@Override public AggregatesStore<K> build() { StoreBuilder<KeyValueStore<Bytes, byte[]>> builder = Stores.keyValueStoreBuilder(storeSupplier, Serdes.Bytes(), Serdes.ByteArray()); return new AggregatesStoreImpl<>(builder.build()); } }
@SuppressWarnings("deprecation") // continuing to support Windows#maintainMs/segmentInterval in fallback mode private static <K, V> StoreBuilder<WindowStore<K, V>> joinWindowStoreBuilder(final String joinName, final JoinWindows windows, final Serde<K> keySerde, final Serde<V> valueSerde) { return Stores.windowStoreBuilder( Stores.persistentWindowStore( joinName + "-store", Duration.ofMillis(windows.size() + windows.gracePeriodMs()), Duration.ofMillis(windows.size()), true ), keySerde, valueSerde ); }
/** * @return StoreBuilder */ public StoreBuilder<KeyValueStore<K, V>> materialize() { KeyValueBytesStoreSupplier supplier = (KeyValueBytesStoreSupplier) materialized.storeSupplier(); if (supplier == null) { final String name = materialized.storeName(); supplier = Stores.persistentKeyValueStore(name); } final StoreBuilder<KeyValueStore<K, V>> builder = Stores.keyValueStoreBuilder(supplier, materialized.keySerde(), materialized.valueSerde()); if (materialized.loggingEnabled()) { builder.withLoggingEnabled(materialized.logConfig()); } else { builder.withLoggingDisabled(); } if (materialized.cachingEnabled()) { builder.withCachingEnabled(); } return builder; } }
Stores.create( entry.getID() ) .withStringKeys() .withValues(new VisibilityBindingSetSerde())
supplier = Stores.persistentWindowStore( materialized.storeName(), Duration.ofMillis(retentionPeriod), supplier = Stores.persistentWindowStore( materialized.storeName(), windows.maintainMs(), final StoreBuilder<WindowStore<K, VR>> builder = Stores.windowStoreBuilder( supplier, materialized.keySerde(),
Stores.keyValueStoreBuilder(Stores.persistentKeyValueStore(localworkSetStoreName), Serdes.Integer(), new KryoSerde<>() ); Stores.keyValueStoreBuilder(Stores.persistentKeyValueStore(localSolutionSetStoreName), serialized.keySerde(), new KryoSerde<>() );