storm的作业单元:Topology

Storm系统的数据处理应用单元,是被打包的被称为Topology的作业。 它是由多个数据处理阶段组合而成的,而每个处理阶段在构造时被称为组件(Component),在运行时被称为任务。

那么,组件根据作用的不同,在Storm中分为两类:Spout组件和Bolt组件。而Topology就是这两类组件通过数据流连接的一种计算逻辑结构。(也就是说,上一个组建处理的输出结果,作为下游组件的输入数据流继续处理。如下图所示:

下来说明下一个Topology包含的这两种组件(Spout和Bolt):

Spout:Storm中的数据源编程单元,用于为Topology生产消息(数据).一般会从外部数据源不间断地读取数据,并作为一定结构的数据项(Tuple元祖)传递给Topology处理。

Bolt:Storm中的数据处理编程单元,实现Topology中的相关数据处理逻辑。在Bolt中,编程人员可以实现数据过滤、聚合、查询数据库等操作,处理的结果以一定结构的数据项,以流式处理的方式向下游组件传递和处理。

stream:组件间的数据传递分为三种形式,Stream grouping、All Grouping 、Drect Grouping等,具体等学习后再记录咯~

时间: 2025-01-01 22:44:26

storm的作业单元:Topology的相关文章

Storm基本概念以及Topology的并发度

Spouts,流的源头 Spout是Storm里面特有的名词,Stream的源头,通常是从外部数据源读取tuples,并emit到topology Spout可以同时emit多个tupic stream,通过OutputFieldsDeclarer中的declareStream,method来定义 Spout需要实现RichSpout端口,最重要的方法是nextTuple,storm会不断调用接口从spout中取数据,同时需要注意的是Spout分为reliable or unreliable两种

storm高级原语-Transactional topology

参考: http://xumingming.sinaapp.com/736/twitter-storm-transactional-topolgoy/ http://xumingming.sinaapp.com/811/twitter-storm-code-analysis-coordinated-bolt/ 示例代码: package com.lky.topology; import java.math.BigInteger; import java.util.ArrayList; impor

使用Thrift API监控Storm集群和Topology

如要监控Storm集群和运行在其上的Topology,该如何做呢? Storm已经为你考虑到了,Storm支持Thrift的C/S架构,在部署Nimbus组件的机器上启动一个Thrift Server进程来提供服务,我们可以通过编写一个Thrift Client来请求Thrift Server,来获取你想得到的集群和Topology的相关数据,来接入监控平台,如Zabbix等,我目前使用的就是Zabbix. 整体的流程已经清楚了,下面就来实践吧. 1 安装Thrift 由于我们要使用Thrift

2 storm的topology提交执行

本博文的主要内容有 .storm单机模式,打包,放到storm集群 .Storm的并发机制图 .Storm的相关概念 .附PPT 打包,放到storm集群去.我这里,是单机模式下的storm. weekend110-storm  ->   Export   ->   JAR file   -> 当然,这边,肯定是,准备工作已经做好了.如启动了zookeeper,storm集群. 上传导出的jar sftp> cd /home/hadoop/ sftp> put c:/d de

Storm WordCount Topology详解

1 package org.apache.storm.storm_core; 2 3 import java.util.Map; 4 5 import backtype.storm.task.OutputCollector; 6 import backtype.storm.task.TopologyContext; 7 import backtype.storm.topology.OutputFieldsDeclarer; 8 import backtype.storm.topology.bas

关于Storm 中Topology的并发度的理解

来自:http://blog.csdn.net/derekjiang/article/details/9040243 概念理解 原文中用了一张图来说明在一个storm cluster中,topology运行时的并发机制. 其实说白了,当一个topology在storm cluster中运行时,它的并发主要跟3个逻辑实体想过:worker,executor 和task 1. Worker 是运行在工作节点上面,被Supervisor守护进程创建的用来干活的进程.每个Worker对应于一个给定top

使用Storm实现实时大数据分析

摘要:随着数据体积的越来越大,实时处理成为了许多机构需要面对的首要挑战.Shruthi Kumar和Siddharth Patankar在Dr.Dobb’s上结合了汽车超速监视,为我们演示了使用Storm进行实时大数据分析.CSDN在此编译.整理. 简单和明了,Storm让大数据分析变得轻松加愉快. 当今世界,公司的日常运营经常会生成TB级别的数据.数据来源囊括了互联网装置可以捕获的任何类型数据,网站.社交媒体.交易型商业数据以及其它商业环境中创建的数据.考虑到数据的生成量,实时处理成为了许多机

storm入门

最近学习了storm的一些基础知识,感觉storm是一个非常强大的实时流处理系统.对其进行简要介绍如下: STORM 1.什么是storm Storm是一个开源的,分布式的,可靠的,实时数据流处理系统.类比Hadoop对数据进行批处理,storm对数据进行实时处理. 2.storm的应用场景 Storm的处理速度快吞吐量大,根据Storm官方网站的资料介绍,Storm的一个节点(Intel [email protected]的CPU,24 GB的内存)在1秒钟能够处理100万个100字节的消息.

使用Storm实现实时大数据分析(转)

原文链接:http://blog.csdn.net/hguisu/article/details/8454368 简单和明了,Storm让大数据分析变得轻松加愉快. 当今世界,公司的日常运营经常会生成TB级别的数据.数据来源囊括了互联网装置可以捕获的任何类型数据,网站.社交媒体.交易型商业数据以及其它商业环境中创建的数据.考虑到数据的生成量,实时处理成为了许多机构需要面对的首要挑战.我们经常用的一个非常有效的开源实时计算工具就是Storm —— Twitter开发,通常被比作“实时的Hadoop