Spark 项目实战企业级,源码深度剖析,机器学习,数据分析

Posted spark88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark 项目实战企业级,源码深度剖析,机器学习,数据分析相关的知识,希望对你有一定的参考价值。

同学们在学习Spark Steaming的过程中,可能缺乏一个练手的项目,这次通过一个有实际背景的小项目,把学过的Spark Steaming、Hbase、Kafka都串起来。

1. 项目介绍

1.1 项目流程

Spark Streaming读取kafka数据源发来的json格式的数据流,在批次内完成数据的清洗和过滤,再从HBase读取补充数据,拼接成新的json字符串写进下游kafka。

1.2 项目详解

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

3.1 项目结构

 

技术图片

简单解释一下:

Output、Score、Output三个是Java Bean

MsgHandler完成对数据流的操作,包括json格式判断、必备字段检查、成绩>=60筛选、json to Bean、合并Bean等操作

ConfigManager读取配置参数

conf.properties 配置信息

StreamingDemo是程序主函数

HBaseUtils Hbase工具类

StreamingDemoTest 测试类

3.2 主函数

初始化spark,和一些配置信息的读取,通过KafkaUtils.createDirectStream读取kafka数据。

 

技术图片

接下来完成如下几个操作:

清洗和筛选数据,返回(id,ScoreBean)的RDD

构造id List集合,批量从Hbase查询结果,构造(id,studentJsonStr)的resMap集合,方便后续O(1)查询

遍历每条数据,从resMap查到结果,合并出新的Java Bean

Java Bean to Json String,并写入到kafka

 

技术图片

4. 结果

开启kafka producer shell, 向kafka_streaming_topic写数据

开启kafka consumer shell, 消费hello_topic

5. 总结

通过这个小项目,希望大家可以掌握基本的Spark Streaming流处理操作,包括读写kafka,查询hbase,spark streaming Dstream操作。篇幅有限,全部代码就不一一列出了,完整代码在

以上是关于Spark 项目实战企业级,源码深度剖析,机器学习,数据分析的主要内容,如果未能解决你的问题,请参考以下文章

大数据精英实战项目班-Hadoop-Spark-真实企业项目

全面深度剖析Spark2--知识点,源码,调优,JVM,图计算,项目

全面深度剖析Spark2--知识点,源码,调优,JVM,图计算,项目

本周学习计划 | 微服务搜索引擎架构Hbase源码剖析深度学习……

学机器学习要学一些什么?机器学习和深度学习项目实战分享

2020新书企业级机器学习: Spark XGBoost LightGBM, NLP, Keras深度学习, 367页pdf