这门课解决什么问题

很多做后端或数据开发的人,在业务量变大后会遇到一个真实痛点:凌晨跑的批处理任务,赶不上白天实时变化的业务数据;想做实时大屏或秒级风控,却不知道怎么稳定处理源源不断的数据流。这门课就是冲着这个场景来的。它不教你堆砌各种大数据组件,而是把焦点收在流处理引擎本身,带你搞懂从批处理到流处理的思路转变,以及怎么用 DataStream API 写出能跑在分布式环境里的流处理程序。如果你正被 Lambda 架构里批流两套代码的维护成本折磨,想往 Kappa 架构迁移,这门课的原理部分能帮你理清底座逻辑。

适合什么基础与学习侧重

这套资料不适合完全零基础的人。它默认你写过 Java,但对大数据组件不熟。资料里专门放了 Java 进阶语法的预备知识,重点看泛型和函数式编程这两块,因为 DataStream API 大量依赖这两者,不懂的话后面写转换算子会卡壳。建议先从大数据技术概述看起,重点啃透“从批处理到流处理”和“流处理基础概念”,把时间窗口、水位线这些底层概念吃透,再去看架构原理。不要一上来就死记 DataStream 的方法名,先弄懂 Flink 的数据流图怎么画、核心组件怎么交互,这样写代码时心里有底,知道一行 Transformation 背后引擎到底做了什么。

学完能独立做什么与资料配合建议

把原理和 API 部分吃透后,你能独立搭起一个基础的流处理任务:从读取数据源、定义转换逻辑、到最终落盘输出。具体来说,你能写出标准结构的程序,并熟练运用常见转换算子完成数据清洗和聚合。练习时,建议把资料里的原理图和代码骨架对照看。先手敲一遍程序的骨架结构,再逐个把常见的 Transformation 加进去跑通。遇到任务提交失败或资源分配报错,回头去翻任务执行与资源划分那部分文档,把报错和原理对应上。这种带着问题查原理的练法,比单纯顺着视频敲一遍代码更能把知识变成自己的工具。


了解Flink的设计与运行原理,以及DataStream API上的流处理,能熟练使用和操作。

课程目录

*   01 课程介绍/

  *   01 课程介绍

*   02 大数据技术概述/

  *   01 01.什么是大数据

  *   02 02.从批处理到流处理

  *   03 03.代表性大数据技术

  *   04 04.从Lambda到Kappa,大数据处理平台的演进

  *   05 05.流处理基础概念

  *   06 06.编程语言的选择

*   03 大数据必备编程知识/

  *   01 01.继承和多态

  *   02 02.泛型

  *   03 03.函数式编程

*   04 Flink的设计与运行原理/

  *   01 01.数据流图

  *   02 02.分布式架构与核心组件

  *   03 03.任务执行与资源划分

*   05 DataStream API的介绍和使用/

  *   01 01.Flink程序的骨架结构

  *   02 02.常见Transformation的使用方法

  *   03 03.数据类型和序列化

  *   04 04.用户自定义函数

*   06 时间和窗口/

  *   01 01.Flink的时间语义

  *   02 02.ProcessFunction系列函数

  *   03 03.窗口算子的使用

  *   04 04.双流关联

  *   05 05.处理迟到数据

*   07 状态和检查点/

  *   01 01.实现有状态的计算

  *   02 02.Checkpoint机制的原理及配置方法

  *   03 03.Savepoint原理及使用方法

*   08 Flink连接器/

  *   01 01.端到端的Exactly-once

  *   02 02.自定义Source和Sink

  *   03 03.常用流式连接器

*   09 Table API & SQL的介绍和使用/

  *   01 01.Table API & SQL综述

  *   02 02.动态表和持续查询

  *   03 03.时间和窗口

  *   04 04.Join

  *   05 05.SQL DDL

  *   06 06.系统内置函数

  *   07 07.用户自定义函数

*   10 Flink的部署和配置/

  *   01 01.Flink集群部署模式

  *   02 02.Flink配置文件

  *   03 03.命令行工具

  *   04 04.Flink与Hadoop集成