文档首页 > > 开发指南> Storm应用开发> 开发程序> 创建Spout

创建Spout

分享
更新时间: 2020/01/11 GMT+08:00

功能介绍

Spout是Storm的消息源,它是Topology的消息生产者,一般来说消息源会从一个外部源读取数据并向Topology中发送消息(Tuple)。

一个消息源可以发送多条消息流Stream,可以使用OutputFieldsDeclarer.declarerStream来定义多个Stream,然后使用SpoutOutputCollector来发射指定的Stream。

代码样例

下面代码片段在com.huawei.storm.example.common.RandomSentenceSpout类中,作用在于将收到的字符串拆分成单词。

/**  
   * {@inheritDoc}  
   */  
  @Override  
  public void nextTuple()  
  {  
      Utils.sleep(100);  
      String[] sentences =  
          new String[] {"the cow jumped over the moon",   
                        "an apple a day keeps the doctor away",  
                        "four score and seven years ago",   
                        "snow white and the seven dwarfs",   
                        "i am at two with nature"};  
      String sentence = sentences[random.nextInt(sentences.length)];  
      collector.emit(new Values(sentence));  
  }
分享:

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

智能客服提问云社区提问