第七章 Spark Streaming实时计算框架
7.3.6 DStream实例——实现网站热词排序
接下来,以实现网站热词排序为例外分析出用户对网站哪些词感兴趣或者不感兴趣,以此来增加用户感兴趣词的内容,减少不感兴趣词的内容,从而提升用户访问网站的流量。在SparkStreaming中 是通过DStream编程实现热词排序,并将排名前三的热词输出到Mysql数据表中进行保存。具体实现步骤如下:
1.创建数据库和表
在MySQL数据库中创建数据库和表,用于接收处理后的数据,具体语句如下:
use spark;
create table searchKeyWord(insert_time date,keyword varchar(30),search_count integer);
上述语句中,字段insert_ time代表的是插入数据的日期;字段keyword代表的是热词;字段search_count代表的是在指定的时间内该热词出现的次数。
2.导入依赖
在pom.xm|文件中,添加Mysq|数据库的依赖,具体内容如下:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
3.创建Scala类,实现热词排序
在spark_ _chapter07项目的/src/main/scala/cn.itcast.dstream文件夹下,创建一个名为"HotWordBySort"的Scala类, 用于编写Spark Streaming应用程序,实现热词统计排序,具体实现代码如文件所示。
文件7-6 HotWordBySort.scala
import java.sql.{
DriverManager, Statement}
import org.apache.spark.{
SparkConf, SparkContext}
import org.apache.spark.streaming