使用Spark Streaming实时的分析处理用户对广告点击的行为数据
1. 准备数据
- 数据集:Spark Streaming项目实战的数据
- 本实战项目实时的分析处理用户对广告点击的行为数据。
1.1 数据生成方式
- 使用代码的方式持续的生成数据,然后写入到kafka中,然后从kafka消费数据,并对数据根据需求进行分析。
1.2 数据格式
模拟出来的数据格式如下:是以逗号","来进行分割的。
1.3 模拟数据生成及从Kafka中读取数据
1)步骤1:开启集群
启动Zookeeper集群和Kafka集群(先启动Zookeeper,在启动Kafka)
2)步骤2:创建主题(Topic)
(1)查看主题
[atguigu@hadoop102 kafka-2.4.1]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list
(2)创建主题
[atguigu@hadoop102 kafka-2.4.1]$ bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --topic my-ads-bak --partitions 2 --replication-factor 2
3)步骤3:创建循环不断的数据到指定的Kafka中的Topic
(1)创建Maven项目,项目名称spark_realtime0105
(2)添加依赖,添加框架(Scala语言)支持,创建scala目录
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.27</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.11</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.11</artifactId>