KStream mapValues 和 transformValues 之间的区别

px5*_*5x2 5 java apache-kafka-streams

参考他们的 javadoc,KStream.transformValues需要额外的 storeName 参数,因此是有状态的,也transformValues可以使用我们可以使用的方法ProccessorContextPunctuators。

是否有一个特殊的具体案例,我应该transformValues更喜欢mapValues

小智 3

这取决于您的用例。如果您想与供应商一起实现自定义(值)转换器,并且更多地致力于使用PAPI,也许您应该选择 Transform 或 TransformValues。如果您需要上下文,例如访问带有标头的完整记录、分区/偏移信息,您可能需要使用 PAPI。如果您希望更好地控制流拓扑和底层细节,这种情况很常见。对于“简单”转换,map/mapValues 可能就足够了。