Storm WordCount
程序员文章站
2022-07-10 23:16:34
特别注意,在本地运行的时候应该去掉provided ,否则会报java.lang.ClassNotFoundException: org.apache.storm.topology.IRichSpout 集群环境中运行的时候应该加上 在这个例子中,有一个spout,两个b ......
特别注意,在本地运行的时候应该去掉<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任务
推荐阅读
-
kafka与storm集群环境的安装步骤详解
-
linux系统中 屏蔽storm ui的kill功能的两种方法
-
Apache 流框架 Flink,Spark Streaming,Storm对比分析(一)
-
Apache 流框架 Flink,Spark Streaming,Storm对比分析(二)
-
Storm VS Flink ——性能对比
-
超越Storm,SparkStreaming——Flink如何实现有状态的计算
-
.Net for Spark 实现 WordCount 应用及调试入坑详解
-
弄清Spark、Storm、MapReduce的这几点区别才能学好大数据
-
hadoop的wordcount实例代码
-
Mysql 流增量写入 Hdfs(二) --Storm + hdfs 的流式处理