public override void WriteToTopology(InternalTopologyBuilder builder) { string leftProcessorName = JoinLeftParams.ProcessorName; string rightProcessorName = JoinRightParams.ProcessorName; string windowedLeftProcessorName = windowedLeftParams.ProcessorName; string windowedRightProcessorName = windowedRightParams.ProcessorName; builder.AddProcessor(leftProcessorName, JoinLeftParams.Processor, windowedLeftProcessorName); builder.AddProcessor(rightProcessorName, JoinRightParams.Processor, windowedRightProcessorName); builder.AddProcessor(JoinMergeParams.ProcessorName, JoinMergeParams.Processor, leftProcessorName, rightProcessorName); builder.AddStateStore(windowedLeftStoreBuilder, windowedLeftProcessorName, rightProcessorName); builder.AddStateStore(windowedRightStoreBuilder, windowedRightProcessorName, leftProcessorName); }
public override void WriteToTopology(InternalTopologyBuilder builder) { // TODO: we assume source KTables can only be timestamped-key-value stores for now. // should be expanded for other types of stores as well. StoreBuilder <State.TimestampedKeyValueStore <K, V> > storeBuilder = new TimestampedKeyValueStoreMaterializer <K, V>(materialized as Materialized <K, V, IKeyValueStore <Bytes, byte[]> >).Materialize(); if (isGlobalKTable) { builder.AddGlobalStore(topicName, storeBuilder, sourceName, consumed, processorParameters); } else { builder.AddSourceOperator(this.topicName, sourceName, consumed); builder.AddProcessor(processorParameters.ProcessorName, processorParameters.Processor, sourceName); //// only add state store if the source KTable should be materialized KTableSource <K, V> ktableSource = (KTableSource <K, V>)processorParameters.Processor; if (ktableSource.QueryableName != null) { builder.AddStateStore(storeBuilder, this.streamGraphNode); // TODO : //if (shouldReuseSourceTopicForChangelog) //{ // storeBuilder.withLoggingDisabled(); // topologyBuilder.connectSourceStoreAndTopic(storeBuilder.name(), topicName); //} } } }
public override void WriteToTopology(InternalTopologyBuilder builder) { builder.AddProcessor(ProcessorParameters.ProcessorName, ProcessorParameters.Processor, ParentNodeNames()); if (storeNames != null && storeNames.Length > 0) { builder.ConnectProcessorAndStateStore(ProcessorParameters.ProcessorName, storeNames); } if (storeBuilder != null) { builder.AddStateStore(storeBuilder, ProcessorParameters.ProcessorName); } }
public override void WriteToTopology(InternalTopologyBuilder builder) { builder.AddProcessor(JoinLeftParams.ProcessorName, JoinLeftParams.Processor, LeftJoinSideName); builder.AddProcessor(JoinRightParams.ProcessorName, JoinRightParams.Processor, RightJoinSideName); builder.AddProcessor(JoinMergeParams.ProcessorName, JoinMergeProcessorSupplier, JoinLeftParams.ProcessorName, JoinRightParams.ProcessorName); builder.ConnectProcessorAndStateStore(JoinLeftParams.ProcessorName, leftStoreNames); builder.ConnectProcessorAndStateStore(JoinRightParams.ProcessorName, rightStoreNames); if (storeBuilder != null) { builder.AddStateStore(storeBuilder, JoinMergeParams.ProcessorName); } }