博客
关于我
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/

    你可能感兴趣的文章
    OPPO软件商店APP侵权投诉流程
    查看>>
    Optional类:避免NullPointerException
    查看>>
    Optional讲解
    查看>>
    ORA-00923: 未找到要求的 FROM 关键字
    查看>>
    ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
    查看>>
    ORA-00942 表或视图不存在
    查看>>
    ORA-01034: ORACLE not available
    查看>>
    ORA-01152: 文件 1 没有从过旧的备份中还原
    查看>>
    ORA-01207:文件比控制文件更新 - 旧的控制文件
    查看>>
    ORA-01795: 列表中的最大表达式数为 1000
    查看>>
    ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态
    查看>>
    ORA-08102的错误
    查看>>
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor异常
    查看>>
    ORA-12514: TNS:listener does not currently know of service问题原因
    查看>>
    ora-12541:tns:no listener
    查看>>
    【docker知识】联合文件系统(unionFS)原理
    查看>>
    ORACEL学习--理解over()函数
    查看>>
    ORAchk-数据库健康检查
    查看>>
    oracle 10g crs命令,Oracle 10g CRS安装问题解决一例
    查看>>
    Oracle 10g ORA-01034: ORACLE not available 错误
    查看>>