查看: 17|回复: 1

[Java新手区] Spout实现

[复制链接]
  • TA的每日心情
    开心
    2015-3-20 14:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 3 天前 | 显示全部楼层 |阅读模式
      Strom使用元组作为数据模型,元组就是一组命名的值,元组中的每个字段都可以是任何类型的对象。Storm支持所有基本类型,string和byte数组作为元组字段值。如果要使用自己定义的类型,也只需要为你自己定义的类型实现并且注册一个serializer即可。每个节点还必须要为输出的元组定义字段名称。
      Spout要么继承BaseRichSpout要么实现IRichSpout和IComponent接口,对与实现来说主要是实现以下这些函数(参考TestWordSpout的实现):
      void open(java.util.Map conf,
              TopologyContext context,
              SpoutOutputCollector collector)
         当一个Supervisor初始化该Spout组件时调用,提供Spout运行所必需的环境
         参数
            conf - Storm关于这个Spout的配置
            context - 这个配置被用来获取该Spout任务的信息,包括任务id,组件id,输入输出信息等等
            collector - 用来从这个Spout里发送元组,元组可以在任何时间里发送,包括open和close函数里。collector是线程安全的,应该被作为一
             个实例对象保存到Spout对象里

    您需要登录后才可以回帖 登录 | 注册青鸟豆号

    本版积分规则

    Copyright 1999-2020 Beijing Aptech Beida Jade Bird Information Technology Co.,Ltd

    北大青鸟IT教育 北京阿博泰克北大青鸟信息技术有限公司 版权所有

    京ICP备11045574号-3 京公网安备11010802013845号

    快速回复 返回顶部 返回列表