我找不到任何关于 Scheme
以及 MultiScheme
apache storm的接口。实现如下:
https://github.com/apache/storm/tree/master/storm-core/src/jvm/backtype/storm/spout
但我不明白什么时候该用 Scheme
我什么时候该用 MultiScheme
. 我发现的大多数示例代码都是使用 MultiScheme
许多人还使用了神秘的 SchemeAsMultiScheme
实施。有人能解释一下吗 Scheme
, MultiScheme
以及 SchemeAsMultiScheme
实际上是为了什么?两者有区别吗 RawMultiScheme
以及 SchemeAsMultiScheme(new RawScheme())
?
1条答案
按热度按时间oknrviil1#
有一个体面的描述风暴Kafkagithub网页(https://github.com/apache/storm/tree/master/external/storm-kafka):
“默认的rawmultischeme只接受byte[]并返回一个元组byte[]。outputfield的名称是“bytes”。还有一些替代实现,如schemeasmultischeme和keyvalueschemeasmultischeme,它们可以将byte[]转换为string。
schemeasmultischeme还有一个扩展messagemetadataschemeasmultischeme,它有一个额外的反序列化方法,除了接受与消息相关联的分区和偏移量外,还接受消息byte[]