Storm流计算的Component组件
来源:互联网 发布:电子板报设计软件 编辑:程序博客网 时间:2024/04/27 16:54
Storm架构中各角色之间的关系
Component组件
绿色是最常用的,红色是与事务相关的
Spout
Spout的最顶层抽象是ISpout接口
Open()是初始化方法
nextTuple()循环发射数据
ack() 成功处理tuple回调方法
Fail()处理失败tuple回调方法
activate和deactivate :spout可以被暂时激活和关闭
close方法在该spout关闭前执行,
但是并不能得到保证其一定被执行,kill -9时不执行,
Storm kill {topoName} 时执行。
通常情况下实现一个Spout,可以直接实现接口IRichSpout,如果不想写多余的代码,可以直接继承BaseRichSpout。
Bolt
IBolt定义了三个方法:
prepare方法进行初始化,
传入当前执行的上下文
execute接受一个tuple进行处理,
也可emit数据到下一级组件
cleanup 同ISpout的close方法,在关闭前调用,
不保证其一定执行。
IBolt继承了Serializable,在nimbus上提交topology以后,创建出来的bolt会序列化后,发送到具体执行的worker上去。worker在执行该Bolt时,会先调用prepare方法传入当前执行的上下文.
execute接受一个tuple进行处理,并用prepare方法传入的OutputCollector的ack方法(表示成功)或fail(表示失败)来反馈处理结果.还可以通过OutputCollector的emit方法把结果发射到下一级组件。
IBasicBolt接口,实现该接口的Bolt不用在代码中提供反馈结果了,Storm内部会自动反馈成功。如果你确实要反馈失败,可以抛出FailedException。
实现一个Bolt,可以实现IRichBolt接口或继承BaseRichBolt,如果不想自己处理结果反馈,可以实现 IBasicBolt接口或继承BaseBasicBolt,它实际上相当于自动做了prepare方法和 collector.emit.ack(inputTuple)。
- Storm流计算的Component组件
- storm与流计算
- AdminLTE 2的组件Component
- 组件 - Component
- storm分布式流计算引擎
- Storm流计算项目视频教程
- Storm 流计算编程模型
- Storm流式计算原理
- Spark streaming&storm流计算的相关对比
- Spark streaming&storm流计算的相关对比
- 基于zookeeper和storm的车载流式计算框架
- Twitter Heron:流式计算Storm的升级版
- Spark streaming&storm流计算的相关对比
- 【Flink】流计算框架Flink与Storm的性能对比
- 流计算框架 Flink 与 Storm 的性能对比
- 流计算框架 Flink 与 Storm 的性能对比
- Storm组件
- Storm组件
- 搭建SVN服务器详细教程
- springMVC-学习总结-拦截器
- java求100之内的素数
- 操作系统基础:时间片轮转
- 安装mysql错误信息:cmake_symlink_library: System Error: Operation not supported
- Storm流计算的Component组件
- 二维数组 作为函数参数 传递方法
- 基于URL的权限管理学习总结
- Android:获取组件的宽和高
- 【LeetCode】46. Permutations
- Lambda (系统架构原则:批处理层,服务层和速度层) 基础概念
- github windows 入门教程
- C++中构造函数居然是可以直接调用的
- STL求第k大的元素