storm的一些基本概念

来源:互联网 发布:软件质量保证大纲 编辑:程序博客网 时间:2024/06/05 04:26

要了解storm,首先需要了解以下几个概念

1. 拓扑Topologies

  一个实时应用程序的逻辑被打包成一个Storm的拓扑。一个拓扑类似于Hadoop中的MapReduce作业。但是MapReduce作业最终会运行完成,而一个拓扑作业将一直运行。除非显示的将它杀死。一个拓扑是一张图,这张图由管口spouts和门闩bolts,以及连接他们的流stream所组成。


2. 流steams

  流是Storm中的核心抽象。一条流是一个没有限制长度的元组序列。这个序列被以一种分布式的方式处理和创建。定义流时需要定义一个schema来确定元组的每个字段。一个元组可以包含integer, long, short, byte, string, double, float, boolean, and byte array。用户也可以通过定义指定的序列器创建自定义类型。


3. 管口spouts

  管口是拓扑中的流之源。它从外部读取元组并传入拓扑中。它既可以是可靠的也可以是不可靠的。可靠意味者当传入的数据处理失败的话,它能重新传入。不可靠则不关心是否被成功处理。


4. 门闩bolts

  具体的数据处理都是在门栓上完成的:过滤,函数,聚合,连接,写入数据库等。


5. 分流stream groupings

  定义如何分发流中的元组到多个门闩任务上。内建了7种方法,用户可以实现自定义方法。

  

0 0
原创粉丝点击