缺什么补什么:别拿离线批处理思维硬套实时流
很多做后端或数据开发的人,习惯了拿离线批处理的思维去硬套实时流计算。平时写定时任务跑得好好的,一旦业务要求秒级延迟、实时大屏或者即时风控,直接上手 Spark Streaming 往往会卡在数据怎么接进来、怎么稳定消费、怎么保证不丢数据这些环节上。这门课解决的核心问题就是打通从日志采集到流式计算的数据管道,重点拆解 Flume、Kafka 与 Spark Streaming 三者的对接细节。如果你只会写 Spark Core 的批处理代码,却没真正配置过 Flume 采集层,搞不清 Push 和 Pull 模式的差异,那这块就是你的能力缺口。课程基于 Spark 2.x 版本,适合有基础 Scala 或 Java 编程能力、了解 Hadoop 生态,但缺乏实时流项目落地经验的技术学习者,用来查漏补缺非常对口。
建议先看这几块:别跳过 Flume 直接写流处理代码
看这份资料时,别一上来就跳过 Flume 直接去写 Spark Streaming 代码。建议先从 Flume 的基本架构和基本术语看起,搞懂 Source、Channel、Sink 这几个核心组件的数据流转机制,再跟着课程里的几个实际演示去配置不同的采集场景。把 Flume 的运行逻辑吃透后,再进入 Spark Streaming 集成 Flume 的核心环节。这里必须重点对比 Push 模式和 Pull 模式的区别:Push 模式是 Flume 主动把数据推给计算节点,Pull 模式则是 Spark Streaming 主动去拉取数据。这两种模式在容错性、背压处理和资源调度上的表现完全不同。资料里同时提供了 Java 版本的集成演示,如果你所在团队的技术栈偏向 Java 而非 Scala,这部分配置细节要重点看,别在序列化和依赖包上踩坑。
学完能独立做什么:资料与练习的配合方式
看完这套资料,你应该能独立搭建一条完整的实时数据采集与处理链路。具体来说,能根据业务场景选择合适的 Flume 组件组合,配置好日志采集策略,并将其与 Spark Streaming 对接成功。为了达到这个效果,资料必须配合动手练习来用。建议在本地环境把课程开头提到的运行环境老老实实搭一遍,不要只看视频不动手。练习时,先单独跑通 Flume 采集本地日志文件并输出到控制台,验证采集层没问题;接着分别用 Push 和 Pull 两种模式把数据接入 Spark Streaming,写一个简单的词频统计程序验证数据是否正常流通。如果在 Pull 模式下遇到程序起不来或者收不到数据的情况,回头去检查 Flume 配置文件里的 Sink 类型以及网络端口绑定。把这些坑都踩过一遍,这套实时流计算的底层逻辑才算真正补齐到你的技术体系里。
课程目录
1-1 [课程内容] 本课程内容 (06:22) 1-2 [课程内容] 本课程需要的环境 (02:53) 1-3 [课程内容] 本地运行Spark Streaming程序 (04:25) 2-1 [讲解Flume] Flume使用demo1 (10:18) 2-2 [讲解Flume] Flume使用demo2 (13:52) 2-3 [讲解Flume] Flume使用demo3 (08:10) 2-4 [讲解Flume] Flume的基本架构和基本术语 (08:54) 3-1 [Spark Streaming 集成 Flume] Push模式 (10:07) 3-2 [Spark Streaming 集成 Flume] Pull模式 (08:22) 3-3 [Spark Streaming 集成 Flume] Java版本的Spark Streaming集成Flume (01:28) 4-1 [讲解 Kafka] Kafka总结介绍和安装 (13:13) 4-2 [讲解 Kafka] Kafka基本术语 - topic (08:29) 4-3 [讲解 Kafka] Producer原理 (08:02) 4-4 [讲解 Kafka] Kafka基本术语 – Consumer Group (08:36) 4-5 [讲解 Kafka] Java 开发 Producer 和 Consumer (13:25) 5-1 [Spark Streaming 集成 Kafka] Receiver模式 (11:23) 5-2 [Spark Streaming 集成 Kafka] Direct模式 (07:53) 5-3 [Spark Streaming 集成 Kafka] Receiver模式对比Direct模式 (09:39) 5-4 [Spark Streaming 集成 Kafka] Java版本的Spark streaming集成Kafka (02:24) 6-1 [Flume+Kafka+Spark Streaming] Kafka作为Flume的Source (06:12) 6-2 [Flume+Kafka+Spark Streaming] Kafka作为Flume的Sink (05:34) 6-3 [Flume+Kafka+Spark Streaming] Kafka作为Flume的Channel (06:20) 6-4 [Flume+Kafka+Spark Streaming] Redis的安装 (06:01) 6-5 [Flume+Kafka+Spark Streaming] 实际案例业务、架构以及代码讲解 (12:18) 6-6 [Flume+Kafka+Spark Streaming] 实际案例实战演示 (08:46) 6-7 [Flume+Kafka+Spark Streaming] 解决上节课的Bug (09:05)
![[老汤]Spark 2.x实时流计算Flume+Kafka+Spark Streaming(系列四)](/_next/image?url=https%3A%2F%2Fwww.itzhibei.com%2Fapi%2Fuploads%2Fa5258e29-49b5-45db-865f-de3b5ee51d1c.jpg&w=1920&q=75)




