项目名称
企业网络用户行为综合大数据平台
面向人群
对大数据基础有一定了解,但是没有项目经验的人群
有一定大数据项目经验,想学习和提高的人群
项目流程图
关键词频
实时业务、流式处理、内存计算、微服务、网络安全、用户画像、数据倾斜、业务告警、开源框架二次开发、多组件整合
项目描述
此项目是基于Cloudera’s Distribution Including Apache Hadoop(简称CDH)5.14版本去实践运行,是一套企业中常见的实时业务,使用的是企业中目前最为火热的流式计算框架Spark Streaming作为业务的主要处理框架,支持实时数据流的处理,具有高吞吐、高容错的特点。项目贯穿大数据处理整个生命周期, 数据采集,数据清洗,实时处理,离线处理,数据分析,对外接口。项目涉及到调优模块、分别是倾斜调优、Spark Streaming参数调优、ES调优、HBase优化、实时Redis告警。业务扩展适用到智慧城市、网络安全、生活滴滴打车中的多个场景之中,帮助企业快速定位某用户的行为习惯、行为特征,掌握用户群体的实时动向。
项目技术栈:
flume,
kafka,
sparkSQL,
sparkstreaming,
hdfs,
hive,
hbase,
mysql,
spring cloud等
项目介绍
-
技术架构介绍
数据源及名词介绍
数据使用场景介绍
数据采集
-
Flume数据采集流程图及采集过程介绍
flumesource->interceptor->Sink代码执行演示
自定义Flume Source 处理文件数据
文件处理失败问题
自定义拦截器Interceptor数据清洗,数据验证
Flume整合Kafka
自定义Flume Sink数据传入Kafka
CDH集群部署flume
异常数据处理
Flume内存管道配置调优
数据采集总结回顾
框架整合(数据全文检索模块)
-
sparkstreaming集成kafka到ES本地演示
ES查询工具kibana介绍
使用kibana对ES进行查询
Spark Streaming 和 Direct
java和scala整合开发
Kafka Manager封装及代码讲解
kafka offset偏移问题
ES Spark接口
Spark Streaming + Kafka+ES整合
ES索引切分
ES Mapping动态创建
Flume Source + Interceptor + Sink + Kafka + Spark Streaming + ES 数据链整合
spark程序CDH生产集群部署及演示整个数据流
真实数据测试链条数据处理性能
数据倾斜问题及解决
sparkstreaming 控制从kafka读取数据量
Spark Streaming 参数调优
Kafka分区设置与spark 任务数分配
ES参数调优
ES数据去重任务(一个业务场景)
数据关联任务(一个业务场景)
4.告警模块
-
告警流程背景介绍
告警任务本地演示
使用mysql的问题
Redis引入
mysql数据库设计与redis key设计
同步关系数据到Redis及代码
timer定时器
使用Spark Streaming 实现准实时告警
告警消息推送及处理
告警模块CDH生产集群部署及演示实时告警
5.实时关联模块
-
数据关联的必要及应用场景
HBASE数据关联演示
实时关联场景及关联方法介绍
HBase实现关联表设计
使用HBASE作为二级索引
HBASE预分区
HBase API封装及介绍
Spark Streaming 整合Kafka、HBase实现数据关联
CDH集群生产环境部署关联任务
整合过程中得常见问题
HBase优化
6.数仓模块整合
-
为什么需要Hive数据仓库
Spark Streaming写入HIVE的思路
Hive数据仓库如何分区及分区表创建
RDD转dataFrame处理
Spark Streaming 、Kafka、HDFS、HIVE整合
dataFrame写入产生的小文件处理
关于Spark Streraming 写入HDFS的优化处理
7.微服务模块
-
Spring Cloud 介绍
Spring Cloud eureka注册中心
Spring Cloud 微服务restful接口使用
Elasticsearch 常用查询API介绍及第三方组件
业务场景用到的ES查询封装及对外查询接口
HBase查询API介绍
使用Spring Cloud 对外提供HBase查询
项目中的一些经验技巧及接口对接等
结果展示
CDH集群监控:
CDH flume配置:
flume数据处理监控:
sparkstreaming任务执行监控
kibana ES查询工具
HBASE预分区
springcloud微服务eureka服务注册
springcloud微服务swagger restfulAPI接口