Storm官方帮助手册翻译(下)

使用其余语言编写Bolt
html

    Bolt可使用任意语言编写。用另一种语言编写Bolt来做为子进程运行。Storm会在标准输入输出的基础上使用Json来与子进程通讯。通讯协议之须要一个100行的适配器库,Storm自带了Ruby,Python,和Fancy的适配器库。java

    下面是WordCountTopology中SplitSentence的定义:python

public static class SplitSentence extends ShellBolt implements IRichBolt {
	public SplitSentence() {
		super("python", "splitsentence.py");
	}

	public void declareOutputFields(OutputFieldsDeclarer declarer) {
		declarer.declare(new Fields("word"));
	}
}

   SplitSentence集成了ShellBolt而且经过"splitsentence.py"参数来指定使用python来运行。下面是splitsentence.py的具体实现:apache

import storm

class SplitSentenceBolt(storm.BasicBolt):
    def process(self, tup):
        words = tup.values[0].split(" ")
        for word in words:
          storm.emit([word])

SplitSentenceBolt().run()

  更多的关于使用其余语言写Spout和Bolt的信息,以及了解如何使用其余语言(彻底避免使用JVM)建立Topology,查看Using non-JVM languages with Storm分布式

 保证消息处理测试

    前文中咱们调过了一些关于元组如何发射的概念。这些概念是Storm 可靠性的 一部分:Storm是如何保证每一个消息被彻底难处理的。阅读 Guaranteeing message processing一文来了解它是如何工做的,并且做为一个使用者应该如何利用Storm的可靠性。spa

事物Topology翻译

    Storm保证每一个消息都会被Topology处理至少处理一次。一个常见的问题是 “如何熟练使用Storm进行计数?会不会重复计数?”Storm有一个叫事物Topology的特性让你在大多数计算中精确处理消息。点击这里获取更多的关于事物Topology的信息。code

 分布式RPCorm

    本文档介绍了如何熟练使用Storm作基本的流处理。你还可使用Storm作更多的事情。Storm中一个比较有意思的程序是分布式RPC,你可使用它来进行并行计算。点击这里获取更多的关于分布式RPC的信息。

总结

    本手册提供了开发、测试和不是Storm Topology的概览,其余的文档将更深刻的了解Storm使用的各个方面

译者语

     通过多半天的努力,终于完成了文档的翻译,后续会继续带来更多的技术翻译,如Zookeeper,Spark,Kafa等。文中如有翻译不妥之处,望指正,你们共同进步

相关文章
相关标签/搜索