zoukankan      html  css  js  c++  java
  • Storm官方帮助手册翻译(下)

    使用其他语言编写Bolt

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

        下面是WordCountTopology中SplitSentence的定义:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    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的具体实现:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    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的可靠性。

    事物Topology

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

     分布式RPC

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

    总结

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

    译者语

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

  • 相关阅读:
    20190710-汉诺塔算法
    20190705-Python数据驱动之DDT
    20190621-N皇后
    还在为Excel合并单元格导致的各种问题烦恼吗?这里一起解决
    Excel基础:开始菜单之对齐方式,那些被遗忘的实用功能
    Excel中身份证号码如何分段显示,难倒小编,有什么好方法吗?
    制作这样的Excel注水图表,让老板另眼相看,坐等升职加薪
    Excel高手都会的Shift快捷键7个用法,让工作效率翻倍
    Excel答粉丝问:批量将单元格内容转为批注
    Excel基础:开始菜单之字体的华丽转身
  • 原文地址:https://www.cnblogs.com/catkins/p/5249108.html
Copyright © 2011-2022 走看看