同学们在学习Spark Steaming的过程中,可能缺乏一个练手的项目,这次通过一个有实际背景的小项目,把学过的Spark Steaming、Hbase、Kafka都串起来。
1. 项目介绍
1.1 项目流程
Spark Streaming读取kafka数据源发来的json格式的数据流,在批次内完成数据的清洗和过滤,再从HBase读取补充数据,拼接成新的json字符串写进下游kafka。
1.2 项目详解
-
上游kafka topic为kafka_streaming_topic,内容是json格式的数据流,例如{"id":"001","name":"郭大宝","subject":"语文","score":"60"}
-
spark streaming 从kafka读取数据,完成数据清洗,并筛选出分数>=60分的数据
-
通过id作为rowkey,批量从Hbase中查询学生信息数据,例如{"id":"001","name":"郭大宝","sex":"男","age":"26"}
-
两个json完成拼接,并写入下游topic hello_topic
2. 环境准备
2.1 组件安装
首先需要安装必要的大数据组件,安装的版本信息如下:
-
Spark 2.1.2
-
kafka 0.10.0.1
-
HBase 1.2.0
-
Zookeeper 3.4.5
2.2 Hbase Table的创建
Hbase创建table student,列族名为cf,并存入两条数据
2.3 Kafka Topic的创建
创建kafka的两个topic,分别是kafka_streaming_topic、hello_topic。
3. Code
<