Apache Storm是一个免费的开源分布式实时计算系统。Storm可以非常容易地实时处理无限的流数据。所谓实时处理是指在每条数据的产生时刻不确定的情况下,一旦有数据产生,系统就会立刻对该条数据进行处理。
单词计数
Storm WordCount与Hadoop WordCount有很多不同之处
依靠Storm的实时性以及大规模数据的特点,在Spout中随机发送内置的语句作为消息源;使用一个Bolt进行语句切分,将句子切分成单词发射出去;使用一个Bolt订阅切分的单词Tuple,并且选择使用按字段分组的策略进行单词统计,将统计结果发射出去;最后使用一个Bolt订阅统计结果,词频实时排序,把前10个单词打印到log中。
整个单词计数统计的流程如图所示
依赖:
<dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <version>1.1.0</version> </dependency>
书籍:Hadoop大数据技术开发实战 13.6 案例分析:单词计数
https://gitee.com/caoyeoo0/xc-springboot/tree/hadoopApi/src/main/java/com/xc/xcspringboot/test/storm