java - kafka 流左连接,具有多对一映射
问题描述
以前,左连接作为值连接器(请注意:joiner.apply(..))只返回一条记录:
KStream<String,Pair<String, Recipient>> joinedStream = aclInputStream
.leftJoin(recipientTable,
(recipientNotifyMsg,recipientDetail)->joiner.apply(recipientNotifyMsg,recipientDetail));
对于需求更改,此 joiner.apply(..) 返回记录列表。我很难进行多对一映射以更改 joiner.apply(..) [这是一个列表] 的输出并推入joinedStream [需要单个值]。试图做类似的事情:
.leftJoin(recipientTable,
(recipientNotifyMsg,recipientDetail)->{
List<Pair<String, Recipient>> list = joiner.apply(recipientNotifyMsg,recipientDetail);
list.forEach(pair -> return pair);
});
我可以在这里得到任何帮助吗?