特别注意,在本地运行的时候应该去掉<scope>provided</scope>,否则会报java.lang.ClassNotFoundException: org.apache.storm.topology.IRichSpout

集群环境中运行的时候应该加上

在这个例子中,有一个spout,两个bolt,也就是说这个任务分为两步。spout随机发送一句话到stream,而SplitBolt负责将其分隔成一个一个单词,CountBolt负责计数。运行的时候,spout的并行数是3,SplitBolt的并行数是2,也就是说相当于有3个spout,2个SplitBolt,1个CountBolt。

运行的时候,直接右键运行main方法即可,输出结果大概是这样的:

简单的对比hadoop,可以这样理解storm:

Storm中的Topology相当于Hadoop中的Job

Storm中的Spout相当于Hadoop中的输入文件,而Bolt相当于MapReduce任务

Storm中的每一个处理是一个Bolt再到下一个Bolt,而Hadoop中是一个MapReduce任务再下一个MapReduce

如果一个任务需要分多步完成的话,那么在Storm中每一步就相当于一个Bolt,而在Hadoop中每一步相当于一个MapReduce任务

转载于:https://www.cnblogs.com/cjsblog/p/8393326.html

Storm WordCount相关推荐

  1. Storm 02_Storm 计算模型

    一.Storm 计算模型 Topology – DAG有向无环图的实现 对于Storm实时计算逻辑的封装 即,由一系列通过数据流相互关联的Spout.Bolt所组成的拓扑结构 生命周期:此拓扑只要启动 ...

  2. 42. 通俗易懂大数据实时计算Storm教程

    目录 前言 Storm基础 Storm到底是什么 mysql,hadoop与storm关系 自己搞一套storm? storm的特点 Storm的集群架构以及核心概念 Storm的集群架构 Storm ...

  3. 大数据技术之_17_Storm学习_Storm 概述+Storm 基础知识+Storm 集群搭建+Storm 常用 API+Storm 分组策略和并发度

    大数据技术之_17_Storm学习 一 Storm 概述 1.1 离线计算是什么? 1.2 流式计算是什么? 1.3 Storm 是什么? 1.4 Storm 与 Hadoop 的区别 1.5 Sto ...

  4. storm和kafka集成报java.lang.ClassNotFoundException: kafka.api.OffsetRequest解决方法

    添加依赖 <dependency><groupId>org.apache.storm</groupId><artifactId>storm-kafka& ...

  5. 自学大数据需要从哪里入手 收藏了一份详细的学习路线图

    大数据又称黑暗数据,是指人脑无法处理的海量数据聚合成的信息资产,在民生.IT.金融.农业.通信等方面都有广泛应用.未来5年大数据行业呈井喷趋势,人才需求火爆,2018年大数据人才缺口更是高达900万. ...

  6. 大数据技术学习路线,有信心能坚持学习的朋友,从现在开始吧

    如果你看完有信心能坚持学习的话,那就当下开始行动吧! 推荐下我自己建的大数据学习交流群:199427210,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分 ...

  7. python里面的类和对象_Python中类和对象在内存中是如何保存?

    类以及类中的方法在内存中只有一份,而根据类创建的每一个对象都在内存中需要存一份,大致如下图: 如上图所示,根据类创建对象时,对象中除了封装 name 和 age 的值之外,还会保存一个类对象指针,该值 ...

  8. 大型网站技术架构:核心原理与案例分析 mobi_大数据技术经典学习路线

    如果你看完有信心能坚持学习的话,那就当下开始行动吧! 点击链接加入群聊[大数据学习交流群]:想要在大数据这个领域汲取养分,让自己壮大成长.分享方向,行动以前先分享下一个大数据交流分享资源,欢迎想学习, ...

  9. java转大数据方向如何走?

    大数据的三个发展方向,平台搭建/优化/运维/监控.大数据开发/ 设计/ 架构.数据分析/挖掘.请不要问我哪个容易,哪个前景好,哪个钱多. 先扯一下大数据的4V特征: 数据量大,TB->PB 数据 ...

最新文章

  1. C++_泛型编程与标准库(九)——红黑树的使用
  2. Linux环境搭建Hadoop伪分布模式
  3. Linux-grep 命令和find 命令 (6)
  4. 程序员的语言“艳遇史”(一)——班长pascal
  5. c++11中智能指针的原理,使用,实现
  6. java backlog满_java socket参数详解:BackLog
  7. 牛客一 K-Knowledge Test about Match
  8. 高斯赛尔德、牛顿拉尔逊matlab潮流计算
  9. python制作二级菜单_Python_简单三级菜单制作
  10. 同等学力计算机综合难吗,计算机在职研究生考试难度大吗?这种方式通过率高...
  11. 在JS中使用Ajax
  12. 安卓一键新机_知道华为手机变慢的罪魁祸首吗?用这四招两年旧机秒变新机
  13. 【模电】0010 正弦波产生电路(RC正弦波振荡电路)
  14. 2020年度最值得关注论文TOP10
  15. 摘-连载-《青青子衿》(念才)-采葛-96
  16. 对比分析冯诺依曼结构和哈佛结构。
  17. Linux 下 github 的使用
  18. 深入分析QQ键盘保护技术
  19. SQL Server代理(已禁用代理XP) 出现的原因以及解决方法【通俗易懂,简洁明了】
  20. 尾部关性尾部风险平价和圣杯分布

热门文章

  1. 【转】关于MySQL权限
  2. 使用工具类时尽量使用私有的无参构造函数
  3. 关于Talend的Patch分支对应Eclipse开发环境的配置总结.
  4. 图像处理之基础---高斯低通滤波在指定区域画放大圆形图
  5. UML和模式应用(1):面向对象的分析与设计
  6. 学用 TStringGrid [7] - ColWidths[0]、RowHeights[0]、GridLineWidth
  7. 牛人是怎样用函数实现本地化测试的
  8. java 流 下载文件_java 流实现文件下载问题
  9. Vivado中TCL的使用
  10. 笔试算法题(55):快速排序实现之三路划分, 三元中值法和插入排序处理小子文件...