gpt4 book ai didi

java - 如何从 Transformer 输出多条记录?

转载 作者:行者123 更新时间:2023-12-04 02:52:49 24 4
gpt4 key购买 nike

给定:带有 KStream::transform 的 DSL 拓扑.作为 Transformer::transform 的一部分执行多条消息从输入( KeyValue<String, Message> )生成。

我大概可以返回 KeyValue<String, List<Message>>来自 Transformer::transform 的对象并申请 flatMapValues作为拓扑中的下一个处理器来扁平化列表。但是我想知道是否可以使用 ProcessorContext::forward为了同一个目标,即

public KeyValue<String, Message> transform(String key, Message message) {
Iterable<Message> messages = generateMultipleFromOne(message);
messages.forEach(m->context.forward(key, m));

return null;
}

最佳答案

来自 javadoc of Transformer.transform(K key, V value) :

If more than one output record should be forwarded downstream,ProcessorContext.forward(Object, Object) andProcessorContext.forward(Object, Object, To) can be used.

Note that returning a new KeyValue is merely for convenience. The same can be achieved by using ProcessorContext.forward(Object, Object) and returning null.

关于java - 如何从 Transformer 输出多条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54260925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com