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 class
InternalTopologyBuilder.AbstractNode
static class
InternalTopologyBuilder.GlobalStore
static class
InternalTopologyBuilder.Processor
static class
InternalTopologyBuilder.Sink<K,V>
static class
InternalTopologyBuilder.Source
static class
InternalTopologyBuilder.StateStoreFactory<S extends StateStore>
static class
InternalTopologyBuilder.Subtopology
static class
InternalTopologyBuilder.TopicsInfo
static class
InternalTopologyBuilder.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)
void
addInternalTopic(java.lang.String topicName, InternalTopicProperties internalTopicProperties)
void
addProcessor(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)
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)
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)
void
addStateStore(StoreBuilder<?> storeBuilder, boolean allowOverride, java.lang.String... processorNames)
void
addStateStore(StoreBuilder<?> storeBuilder, java.lang.String... processorNames)
java.util.Set<java.lang.String>
allStateStoreName()
ProcessorTopology
buildGlobalStateTopology()
Builds the topology for any global state storesProcessorTopology
buildSubtopology(int topicGroupId)
ProcessorTopology
buildTopology()
void
connectProcessorAndStateStores(java.lang.String processorName, java.lang.String... stateStoreNames)
void
connectSourceStoreAndTopic(java.lang.String sourceStoreName, java.lang.String topic)
java.util.Collection<java.util.Set<java.lang.String>>
copartitionGroups()
void
copartitionSources(java.util.Collection<java.lang.String> sourceNodes)
java.lang.String
decoratePseudoTopic(java.lang.String topic)
InternalTopologyBuilder.TopologyDescription
describe()
java.util.regex.Pattern
earliestResetTopicsPattern()
java.util.Map<java.lang.String,java.lang.String>
getChangelogTopicToStore()
java.util.Map<java.lang.String,StateStore>
globalStateStores()
Get any globalStateStore
s that are part of the topologyboolean
hasNoNonGlobalTopology()
java.util.regex.Pattern
latestResetTopicsPattern()
void
maybeUpdateCopartitionSourceGroups(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()
InternalTopologyBuilder
rewriteTopology(StreamsConfig config)
InternalTopologyBuilder
setApplicationIdAndInternalStream(java.lang.String applicationId, java.lang.String internalStream, java.lang.String internalStreamCompacted)
void
setDefaultStream(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.void
validateCopartition()
-
-
-
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 globalStateStore
s that are part of the topology- Returns:
- map containing all global
StateStore
s
-
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()
-
-