KSPlanBuilder¶
KSPlanBuilder is a PlanBuilder that builds a Kafka Streams application (from an execution plan).
Creating Instance¶
KSPlanBuilder takes the following to be created:
- RuntimeBuildContext
-
SqlPredicateFactory -
AggregateParamsFactory -
StreamsFactories
KSPlanBuilder is created when:
QueryBuilderis requested to build a query implementation
visitStreamSelect¶
KStreamHolder<K> visitStreamSelect(
StreamSelect<K> streamSelect,
PlanInfo planInfo)
visitStreamSelect is part of the PlanBuilder abstraction.
visitStreamSelect requests the given StreamSelect for the ExecutionStep of the source to build.
In the end, visitStreamSelect builds a KStreamHolder.
visitStreamSelectKey¶
KStreamHolder<GenericKey> visitStreamSelectKey(
StreamSelectKeyV1 streamSelectKey,
PlanInfo planInfo)
visitStreamSelectKey is part of the PlanBuilder abstraction.
visitStreamSelectKey requests the given StreamSelectKeyV1 for the source ExecutionStep to build a KStreamHolder.
In the end, visitStreamSelectKey builds a KStreamHolder with the source KStreamHolder and the StreamSelectKeyV1.
visitStreamSource¶
KStreamHolder<GenericKey> visitStreamSource(
StreamSource streamSource,
PlanInfo planInfo) // (1)!
- The given
PlanInfois not used.
visitStreamSource is part of the PlanBuilder abstraction.
visitStreamSource uses the SourceBuilderV1 to build a KStream (for the RuntimeBuildContext, the given StreamSource and the ConsumedFactory from the StreamsFactories).
Visiting TableSource¶
KTableHolder<GenericKey> visitTableSource(
TableSource tableSource,
PlanInfo planInfo)
KTableHolder<GenericKey> visitTableSource(
TableSourceV1 tableSourceV1,
PlanInfo planInfo)
visitTableSource is part of the PlanBuilder abstraction.
visitTableSource creates a SourceBuilder to build a KTableHolder for the given TableSource.
visitTableSelect¶
<K> KTableHolder<K> visitTableSelect(
TableSelect<K> tableSelect,
PlanInfo planInfo)
visitTableSelect is part of the PlanBuilder abstraction.
visitTableSelect requests the given TableSelect for the source ExecutionStep to build a KTableHolder.
In the end, visitTableSelect builds a KTableHolder with the source KTableHolder.