博客
关于我
Storm Topology组件
阅读量:663 次
发布时间:2019-03-15

本文共 1089 字,大约阅读时间需要 3 分钟。

Storm集群中的任务通常被称为Topology(拓扑结构)。与Hadoop中的MapReduce任务类似,Topology中的Spout组件负责从外部数据源获取数据,并按一定格式将数据传递给Bolt进行后续处理。

Topology的基础组成

在Storm中,一个最简单的Topology由一个Spout和一个Bolt组成。Spout从数据源中读取数据,将数据以特定格式(Tuple)传递给Bolt。Bolt则处理这组数据,完成后 Marty circulation(数据循环)的处理。每次Spout发送的数据单元称为Tuple,这些Tuple通过数据流连续传输,组成连续的Stream。

一个Topology中的组件(Components)目前仅包含Spout和Bolt。一个Topology中必须同时存在Spout和Bolt,Spout和Bolt的数量可根据实际需求自由调整。即使最简单的Topology,也必须包含一个Spout和一个Bolt。

Stream的基础

Stream是连续数据传输的通道,其最小数据单元是Tuple。每条Stream由连续的Tuple组成。Storm是一个实时数据处理框架,独特之处在于,其处理流是增量式的。与批处理框架(如Hadoop)不同,Storm能够实时处理不断到达的新数据。

###拓扑结构的演进随着拓扑结构的复杂化,涉及的Spout和Bolt数量都会增加。例如:

  • 多个Bolt处理单个Spout输出的数据:一个Spout可以将数据发送到多个Bolt,处理数据时可以从不同维度进行分析。
  • 多级处理流(Chain):一个Bolt可以将数据传递给多个下级Bolt,逐步进行深入分析和处理。
  • 多个Spout和多个Bolt组成的复杂拓扑:这种情况适用于需要同时处理多个数据源或进行多级分析任务的情况。
  • ###拓扑结构中的DAG(有向无环图)在Storm中,拓扑结构是由有向无环图(DAG)表示的。数据流的方向必须遵循拓扑结构中的方向,避免形成环路。例如,Spout负责从外部读取数据,Bolt则负责数据的处理。如果出现环路,则会造成数据无法完成处理,造成死循环。

    ###实际应用示例在实际应用中,拓扑结构可以根据具体需求进行设计。例如:

    • 实时权重计算:一个医疗APP需要实时显示医生的响应权重,这可能需要多个Spout分别处理问诊量和排队数,然后通过Bolt进行计算和输出结果。

    这种设计方式允许 Strom_TRAFFIC能够高效处理实时数据,满足应用的性能需求。

    如果你有其他问题或需要进一步了解Storm拓扑结构的内容,可以随时告诉我!

    转载地址:http://ytlmz.baihongyu.com/

    你可能感兴趣的文章
    Python制作进度条,原来有这么多方法
    查看>>
    Python制作简单的学生成绩管理系统
    查看>>
    python制作甘特图的基本知识(附Demo)
    查看>>
    python制作一个简单的服务器,【Python】 做一个简单的 http 服务器
    查看>>
    Python到底能做什么?它的优点在哪?
    查看>>
    python利用pytorch库导出图像分割算子
    查看>>
    python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
    查看>>
    python利用excel分析过杀漏失
    查看>>
    python判断汉字数目
    查看>>
    python判断文件是空的,如果是空的,就删除
    查看>>
    python判断密码是否正确_python密码判断是否符合要求的方法
    查看>>
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>