File tree Expand file tree Collapse file tree 3 files changed +139
-1
lines changed
Expand file tree Collapse file tree 3 files changed +139
-1
lines changed Original file line number Diff line number Diff line change @@ -981,7 +981,9 @@ module.exports = {
981981 collapsable : false ,
982982 sidebarDepth : 0 ,
983983 children : [
984- "00-为啥要学习Spark Streaming.md" ,
984+ "00-为啥要学习Spark Streaming" ,
985+ "01-Spark Streaming专栏概述" ,
986+ "02-Spark Streaming小试流式处理" ,
985987 ]
986988 } ,
987989 ] ,
Original file line number Diff line number Diff line change 1+ # 01-Spark Streaming专栏概述
2+
3+ ## 1 实战目标
4+
5+ - 至今专栏的访问量
6+ - 至今从搜索引擎引流过来的专栏的访问量
7+
8+ ## 2 实战流程
9+
10+ ![ ] ( https://codeselect.oss-cn-shanghai.aliyuncs.com/image-20240325162624421.png )
11+
12+ ## 3 可视化显示
13+
14+ - 使用Spring Boot整合Echarts
15+ - 阿里云DataV数据可视化框架
16+
17+ ## 4 教程概要
18+
19+ - 初识实时流处理
20+ - 日志收集框架Flume
21+ - 消息队列Kafka
22+ - 实战环境搭建
23+ - Spark Streaming入门
24+ - Spark Streaming进阶
25+ - Spark Streaming集成Kafka
26+ - Spark Streaming集成Flume
27+
28+ ## 5 计划
29+
30+ - 整合Flume、Kafka、 Spark Streaming打造通用的流处理平台基础
31+ - Spark Streaming项目实战
32+ - 数据处理结果可视化
33+ - 拓展
34+
35+ ## 6 前提
36+
37+ - 熟悉Linux基本命令
38+ - 熟悉Scala/Python/Java
39+ - 有Hadoop和Spark基础
40+
41+ ## 7 环境
42+
43+ - JDK : 1.8
44+ - Hadoop: CDH ( 5.7 )
45+ - Scala : 2.12
46+ - Spark: 2.4.1
Original file line number Diff line number Diff line change 1+ # 02-Spark Streaming小试流式处理
2+
3+ ## 1 业务分析
4+
5+ ### 1.1 需求
6+
7+ 统计主站每个(指定)教程访问的客户端、地域信息分布
8+
9+ 地域: ip转换 Spark SQL项目实战
10+ 客户端: useragent 获取 Hadoop基础教程
11+
12+ =》如上两个操作:采用离线(Spark/MapReduce )的方式进行统计
13+
14+ ### 1.2 实现步骤
15+
16+ 课程编号、ip信息、useragent
17+ 进行相应的统计分析操作: MapReduce/Spark
18+
19+ ### 1.3 项目架构
20+
21+ 日志收集: Flume
22+ 离线分析: MapReduce/Spark
23+ 统计结果图形化展示
24+
25+ 看起来很简单,没什么高深的,但是现在需求改了嘛,很正常的骚操作对不对!
26+ 现在要求实时的精度大幅度提高!那么现在的架构已经无法满足需求了!
27+
28+ #### 1.3.1 问题
29+
30+ 小时级别
31+ 10分钟
32+ 5分钟
33+ 1分钟
34+ 秒级别
35+ 根本达不到精度要求!
36+
37+ 实时流处理,应运而生!
38+
39+ ## 2 实时流处理产生背景
40+
41+ ◆ 时效性高
42+ ◆ 数据量大
43+
44+ ◆ 实时流处理架构与技术选型
45+
46+ ## 3 实时流处理概述
47+
48+ - 实时计算:响应时间比较短。
49+ - 流式计算:数据不断的进入,不停顿。
50+ - 实时流式计算:在不断产生的数据流上,进行实时计算
51+
52+ ## 4 离线计算与实时计算对比
53+
54+ ### 4.1 数据来源
55+
56+ 离线:HDFS历史数据,数据量较大。
57+ 实时:消息队列(Kafka),实时新增/修改记录实时过来的某一笔数据。
58+
59+ ### 4.2 处理过程
60+
61+ 离线:Map + Reduce
62+ 实时:Spark(DStream/SS)
63+
64+ ### 4.3 处理速度
65+
66+ 离线:速度慢
67+ 实时:快速拿到结果
68+
69+ ### 4.4 进程角度
70+
71+ 离线:启动 + 销毁进程
72+ 实时: 7 * 24小时进行统计,线程不停止
73+
74+ ## 5 实时流处理架构与技术选型
75+
76+
77+
78+ ![ ] ( https://codeselect.oss-cn-shanghai.aliyuncs.com/image-20240325181502403.png )
79+
80+ - Flume实时收集WebServer产生的日志
81+ - 添加Kafka,进行流量消峰,防止Spark/Storm崩掉
82+ - 处理完数据,持久化到RDBMS/NoSQL
83+ - 最后进行可视化展示
84+
85+ Kafka、Flume一起搭配更舒服哦~
86+
87+ ## 6 实时流处理应用
88+
89+ - 电信行业:推荐流量包
90+ - 电商行业:推荐系统算法
You can’t perform that action at this time.
0 commit comments