Apache Storm - Scheme和MultiScheme接口有什么区别?

时间:2015-12-03 14:28:05

标签: java apache-storm

我找不到任何关于Apache Storm的SchemeMultiScheme接口的文档。实现在这里:

但是我不明白何时应该使用Scheme以及何时应该使用MultiScheme。我发现的大多数示例代码都使用MultiScheme的实现,而且许多代码也使用了神秘的SchemeAsMultiScheme实现。 任何人都可以解释SchemeMultiSchemeSchemeAsMultiScheme的实际内容吗? RawMultiSchemeSchemeAsMultiScheme(new RawScheme())之间有区别吗?

1 个答案:

答案 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 []。“