Flink学习
要精通 Flink,需要掌握以下几个方面的知识,从基础到进阶逐步提升:
✅ 一、基础知识
-
Flink 核心概念
- 流处理 vs 批处理
- DataStream / DataSet / Table API
- Source、Transformation、Sink
- 状态(State)、时间(Event Time / Processing Time)
-
编程模型
- Flink DataStream API / Table & SQL API
- Window(Tumbling、Sliding、Session)
- Watermark、迟到数据处理(Late Data)
✅ 二、进阶能力
-
状态管理
- Keyed State / Operator State
- 状态后端(RocksDB、HashMap)
- Checkpoint、Savepoint、恢复机制
-
时间与窗口机制
- Event Time 处理、Watermark 策略
- Allowed Lateness、Side Output
-
容错机制与一致性
- Checkpoint 原理(Exactly-once、At-least-once)
- 与外部系统协同一致性(如 Kafka、MySQL)
-
连接器与集成
- Kafka、MySQL、HBase、Iceberg、Hive、ElasticSearch 等
- Flink CDC(实时同步)
- Flink SQL + Catalog 使用
✅ 三、性能优化与运维
-
性能调优
- 并行度设置、反压处理
- GC 优化、内存管理
- 状态大小控制、窗口资源管理
-
部署与监控
- Flink on YARN / Kubernetes / Standalone
- Flink Web UI、Metrics、日志分析
- 使用 Prometheus + Grafana 做监控
✅ 四、高级主题
-
Flink SQL & Table API 深入
- 动态表(Dynamic Table)
- Lookup Join、Temporal Join
- Catalog、视图、UDF
-
CEP(复杂事件处理)
- 模式匹配、事件序列识别
- Fraud Detection、报警系统
- Flink 架构与源码分析(可选)
- JobManager / TaskManager 工作机制
- Scheduler、Checkpoint Coordinator 等模块
✅ 五、实践能力
- 构建实时数仓(如 DWD、DWS、ADS 层)
- 实现实时 ETL、风控、用户行为分析
- 与 Kafka、StarRocks、Hudi 等系统打通
🎯 总结:
精通 Flink = 编程能力 + 状态管理 + 性能调优 + 实战经验