文档首页 > > 开发指南> Storm应用开发> 开发程序> 代码样例说明> 创建Bolt

创建Bolt

分享
更新时间: 2019/04/30 GMT+08:00

功能介绍

所有的消息处理逻辑都被封装在各个Bolt中。Bolt包含多种功能:过滤、聚合等等。

如果Bolt之后还有其他拓扑算子,可以使用OutputFieldsDeclarer.declareStream定义Stream,使用OutputCollector.emit来选择要发射的Stream。

代码样例

下面代码片段在com.huawei.storm.example.common.SplitSentenceBolt类中,作用在于拆分每条语句为单个单词并发送。

/**  
   * {@inheritDoc}  
   */  
  @Override  
  public void execute(Tuple input, BasicOutputCollector collector)  
  {  
      String sentence = input.getString(0);  
      String[] words = sentence.split(" ");  
      for (String word : words)  
      {  
          word = word.trim();  
          if (!word.isEmpty())  
          {  
              word = word.toLowerCase();  
              collector.emit(new Values(word));  
          }  
      }  
  }

下面代码片段在com.huawei.storm.example.wordcount.WordCountBolt类中,作用在于统计收到的每个单词的数量。

    @Override   
      public void execute(Tuple tuple, BasicOutputCollector collector)   
      {   
          String word = tuple.getString(0);   
          Integer count = counts.get(word);   
          if (count == null)   
          {   
              count = 0;   
          }   
          count++;   
          counts.put(word, count);   
          System.out.println("word: " + word + ", count: " + count);   
      }
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区