Class InternalTopologyBuilder
- java.lang.Object
-
- org.apache.kafka.streams.processor.internals.InternalTopologyBuilder
-
public class InternalTopologyBuilder extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classInternalTopologyBuilder.AbstractNodestatic classInternalTopologyBuilder.GlobalStorestatic classInternalTopologyBuilder.Processorstatic classInternalTopologyBuilder.Sink<K,V>static classInternalTopologyBuilder.Sourcestatic classInternalTopologyBuilder.StateStoreFactory<S extends StateStore>static classInternalTopologyBuilder.Subtopologystatic classInternalTopologyBuilder.TopicsInfostatic classInternalTopologyBuilder.TopologyDescription
-
Constructor Summary
Constructors Constructor Description InternalTopologyBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <K,V>
voidaddGlobalStore(StoreBuilder<?> storeBuilder, java.lang.String sourceName, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer, java.lang.String topic, java.lang.String processorName, ProcessorSupplier<K,V> stateUpdateSupplier)voidaddInternalTopic(java.lang.String topicName, InternalTopicProperties internalTopicProperties)voidaddProcessor(java.lang.String name, ProcessorSupplier<?,?> supplier, java.lang.String... predecessorNames)<K,V>
voidaddSink(java.lang.String name, java.lang.String topic, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valSerializer, StreamPartitioner<? super K,? super V> partitioner, java.lang.String... predecessorNames)<K,V>
voidaddSink(java.lang.String name, TopicNameExtractor<K,V> topicExtractor, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valSerializer, StreamPartitioner<? super K,? super V> partitioner, java.lang.String... predecessorNames)voidaddSource(Topology.AutoOffsetReset offsetReset, java.lang.String name, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer<?> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<?> valDeserializer, java.lang.String... topics)voidaddSource(Topology.AutoOffsetReset offsetReset, java.lang.String name, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer<?> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<?> valDeserializer, java.util.regex.Pattern topicPattern)voidaddStateStore(StoreBuilder<?> storeBuilder, boolean allowOverride, java.lang.String... processorNames)voidaddStateStore(StoreBuilder<?> storeBuilder, java.lang.String... processorNames)java.util.Set<java.lang.String>allStateStoreName()ProcessorTopologybuildGlobalStateTopology()Builds the topology for any global state storesProcessorTopologybuildSubtopology(int topicGroupId)ProcessorTopologybuildTopology()voidconnectProcessorAndStateStores(java.lang.String processorName, java.lang.String... stateStoreNames)voidconnectSourceStoreAndTopic(java.lang.String sourceStoreName, java.lang.String topic)java.util.Collection<java.util.Set<java.lang.String>>copartitionGroups()voidcopartitionSources(java.util.Collection<java.lang.String> sourceNodes)java.lang.StringdecoratePseudoTopic(java.lang.String topic)InternalTopologyBuilder.TopologyDescriptiondescribe()java.util.regex.PatternearliestResetTopicsPattern()java.util.Map<java.lang.String,java.lang.String>getChangelogTopicToStore()java.util.Map<java.lang.String,StateStore>globalStateStores()Get any globalStateStores that are part of the topologybooleanhasNoNonGlobalTopology()java.util.regex.PatternlatestResetTopicsPattern()voidmaybeUpdateCopartitionSourceGroups(java.lang.String replacedNodeName, java.lang.String optimizedNodeName)java.util.Map<java.lang.Integer,java.util.Set<java.lang.String>>nodeGroups()java.util.Map<java.lang.String,java.util.List<java.lang.String>>nodeToSourceTopics()InternalTopologyBuilderrewriteTopology(StreamsConfig config)InternalTopologyBuildersetApplicationIdAndInternalStream(java.lang.String applicationId, java.lang.String internalStream, java.lang.String internalStreamCompacted)voidsetDefaultStream(java.lang.String defaultStream)java.util.Set<java.lang.String>sourceTopicNames()java.util.Collection<java.lang.String>sourceTopicsForStore(java.lang.String storeName)java.util.Map<java.lang.String,java.util.List<java.lang.String>>stateStoreNameToSourceTopics()java.util.Map<java.lang.String,InternalTopologyBuilder.StateStoreFactory<?>>stateStores()java.util.Map<java.lang.Integer,InternalTopologyBuilder.TopicsInfo>topicGroups()Returns the map of topic groups keyed by the group id.voidvalidateCopartition()
-
-
-
Method Detail
-
setApplicationIdAndInternalStream
public final InternalTopologyBuilder setApplicationIdAndInternalStream(java.lang.String applicationId, java.lang.String internalStream, java.lang.String internalStreamCompacted)
-
rewriteTopology
public final InternalTopologyBuilder rewriteTopology(StreamsConfig config)
-
setDefaultStream
public final void setDefaultStream(java.lang.String defaultStream)
-
addSource
public final void addSource(Topology.AutoOffsetReset offsetReset, java.lang.String name, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer<?> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<?> valDeserializer, java.lang.String... topics)
-
addSource
public final void addSource(Topology.AutoOffsetReset offsetReset, java.lang.String name, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer<?> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<?> valDeserializer, java.util.regex.Pattern topicPattern)
-
addSink
public final <K,V> void addSink(java.lang.String name, java.lang.String topic, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valSerializer, StreamPartitioner<? super K,? super V> partitioner, java.lang.String... predecessorNames)
-
addSink
public final <K,V> void addSink(java.lang.String name, TopicNameExtractor<K,V> topicExtractor, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valSerializer, StreamPartitioner<? super K,? super V> partitioner, java.lang.String... predecessorNames)
-
addProcessor
public final void addProcessor(java.lang.String name, ProcessorSupplier<?,?> supplier, java.lang.String... predecessorNames)
-
addStateStore
public final void addStateStore(StoreBuilder<?> storeBuilder, java.lang.String... processorNames)
-
addStateStore
public final void addStateStore(StoreBuilder<?> storeBuilder, boolean allowOverride, java.lang.String... processorNames)
-
addGlobalStore
public final <K,V> void addGlobalStore(StoreBuilder<?> storeBuilder, java.lang.String sourceName, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer, java.lang.String topic, java.lang.String processorName, ProcessorSupplier<K,V> stateUpdateSupplier)
-
connectProcessorAndStateStores
public final void connectProcessorAndStateStores(java.lang.String processorName, java.lang.String... stateStoreNames)
-
getChangelogTopicToStore
public java.util.Map<java.lang.String,java.lang.String> getChangelogTopicToStore()
-
connectSourceStoreAndTopic
public void connectSourceStoreAndTopic(java.lang.String sourceStoreName, java.lang.String topic)
-
addInternalTopic
public final void addInternalTopic(java.lang.String topicName, InternalTopicProperties internalTopicProperties)
-
copartitionSources
public final void copartitionSources(java.util.Collection<java.lang.String> sourceNodes)
-
maybeUpdateCopartitionSourceGroups
public final void maybeUpdateCopartitionSourceGroups(java.lang.String replacedNodeName, java.lang.String optimizedNodeName)
-
validateCopartition
public void validateCopartition()
-
nodeGroups
public java.util.Map<java.lang.Integer,java.util.Set<java.lang.String>> nodeGroups()
-
buildTopology
public ProcessorTopology buildTopology()
- Returns:
- the full topology minus any global state
-
buildSubtopology
public ProcessorTopology buildSubtopology(int topicGroupId)
- Parameters:
topicGroupId- group of topics corresponding to a single subtopology- Returns:
- subset of the full topology
-
buildGlobalStateTopology
public ProcessorTopology buildGlobalStateTopology()
Builds the topology for any global state stores- Returns:
- ProcessorTopology of global state
-
globalStateStores
public java.util.Map<java.lang.String,StateStore> globalStateStores()
Get any globalStateStores that are part of the topology- Returns:
- map containing all global
StateStores
-
allStateStoreName
public java.util.Set<java.lang.String> allStateStoreName()
-
topicGroups
public java.util.Map<java.lang.Integer,InternalTopologyBuilder.TopicsInfo> topicGroups()
Returns the map of topic groups keyed by the group id. A topic group is a group of topics in the same task.- Returns:
- groups of topic names
-
nodeToSourceTopics
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> nodeToSourceTopics()
-
earliestResetTopicsPattern
public java.util.regex.Pattern earliestResetTopicsPattern()
-
latestResetTopicsPattern
public java.util.regex.Pattern latestResetTopicsPattern()
-
stateStoreNameToSourceTopics
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> stateStoreNameToSourceTopics()
-
sourceTopicsForStore
public java.util.Collection<java.lang.String> sourceTopicsForStore(java.lang.String storeName)
-
copartitionGroups
public java.util.Collection<java.util.Set<java.lang.String>> copartitionGroups()
-
decoratePseudoTopic
public java.lang.String decoratePseudoTopic(java.lang.String topic)
-
hasNoNonGlobalTopology
public boolean hasNoNonGlobalTopology()
-
describe
public InternalTopologyBuilder.TopologyDescription describe()
-
sourceTopicNames
public java.util.Set<java.lang.String> sourceTopicNames()
-
stateStores
public java.util.Map<java.lang.String,InternalTopologyBuilder.StateStoreFactory<?>> stateStores()
-
-