KStreamBuilder provide the high-level Kafka Streams DSL to specify a Kafka Streams topology.
KStreamBuilder提供高级Kafka流DSL来指定Kafka流拓扑。
为指定的主题创建KTable。默认“auto.offset。使用配置中指定的“重置”策略。使用空键的输入记录将被删除。
注意,指定的输入主题必须按键进行分区。如果不是这样,返回的KTable将被损坏。
生成的KTable将在给定的storeName的本地KeyValueStore中实现。但是,没有创建内部changelog主题,因为原始输入主题可以用于恢复(cf. KGroupedStream和KGroupedTable返回KTable的方法)。
要查询本地KeyValueStore,必须通过KafkaStreams#store(…)获取:
KafkaStreams流=…
ReadOnlyKeyValueStore <字符串,长> localStore =流。存储(storeName QueryableStoreTypes。<字符串,长> keyValueStore());
字符串键=“关键”;
长valueForKey = localStore.get(关键);// key必须是本地的(在所有运行的Kafka流实例上共享应用程序状态)
对于非本地键,必须使用kafkastres . allmetadata()实现自定义RPC机制,以查询Kafka流应用程序并行运行实例上的键值。
参数:
keySerde -用于发送键值对的键serde,如果没有指定配置中定义的默认键serde,将使用它
valSerde -值serde用于发送键-值对,如果没有指定配置中定义的默认值serde,则将使用它
题目-题目名称;不能为空
storeName -状态存储名称;不能为空
返回:
指定主题的KTable