使用DataStreamAPI实时统计用户搜索词频
这是我毕业设计的一个模块,后面会提供源码
1.模块介绍
本项目做的是一个题目搜索相关的应用,这个模块做的就是对用户搜索的文本进行分词然后统计词频。
先看这个模块的数据链路图吧
用户在搜题的过程中服务端会将用户的搜索数据发送到kafka。Flink消费kafka的数据然后进行中文分词,分词后统计词的频率将结构sink到redis中。
2.具体实现
这里使用的Flink的DataStreamAPI来实现。先看相关依赖
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-scala_2.11</artifactId>
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
<!--kafka-->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka_2.11</artifactId>
<version>${flink.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version