在什么情况下Kafka Streams程序需要序列化/反序列化?假设我们有以下简单程序:
KStream<k,v> stream = ...;
Kstream<k,v> stream2 = stream.filter( predicateA )
Kstream<k,v> stream3 = stream2.filter( predicateB)
stream3.to( topic );
非常具体地,在filter
的两次调用之间,“k”和“v”是否被序列化/反序列化,或者单个数据点是否作为本机对象传递?
如果可以避免de / serialization开销,Kafka Streams会尝试传递Java对象。
只有在将数据读取或写入主题或商店时,才会对其进行反序列化。
所有可能需要对数据进行解序/序列化的运算符,允许您指定一个键和值Serde
-这是一个很好的指标,哪个运算符可以对数据进行去序列化,哪些不对。