我找不到任何关于Apache Storm的Scheme
和MultiScheme
接口的文档。实现在这里:
但是我不明白何时应该使用Scheme
以及何时应该使用MultiScheme
。我发现的大多数示例代码都使用MultiScheme
的实现,而且许多代码也使用了神秘的SchemeAsMultiScheme
实现。
任何人都可以解释Scheme
,MultiScheme
和SchemeAsMultiScheme
的实际内容吗? RawMultiScheme
和SchemeAsMultiScheme(new RawScheme())
之间有区别吗?
答案 0 :(得分:0)
Storm-Kafka GitHub页面上有一个不错的描述(https://github.com/apache/storm/tree/master/external/storm-kafka):
“默认的RawMultiScheme只接受byte []并返回一个带byte []的元组.outputField的名称是”bytes“。有一些替代实现,如SchemeAsMultiScheme和KeyValueSchemeAsMultiScheme,它们可以将byte []转换为字符串。
还有SchemeAsMultiScheme的扩展,MessageMetadataSchemeAsMultiScheme,除了与消息关联的分区和偏移之外,还有一个附加的反序列化方法接受消息byte []。“