01
代码获取地址
https://gitee.com/wzylzjtn/data-warehouse-learning
https://github.com/Mrkuhuo/data-warehouse-learning
├─learn_flink│ ├─part10_flink_restart│ ├─part11_flink_join│ ├─part1_flink_apis│ ├─part2_flink_local_model│ ├─part3_flink_time│ ├─part4_flink_window│ ├─part5_flink_watermark│ ├─part6_flink_state│ ├─part7_flink_statebackend│ ├─part8_flink_checkpoint│ ├─part9_flink_state_ttl│ ├─util
这或许是一个对你有用的开源项目,data-warehouse-learning 项目是一套基于 MySQL + Kafka + Hadoop + Hive + Dolphinscheduler + Doris + Seatunnel + Paimon + Hudi + Iceberg + Flink + Dinky + DataRT + SuperSet 实现的实时离线数仓(数据湖)系统,以大家最熟悉的电商业务为切入点,详细讲述并实现了数据产生、同步、数据建模、数仓(数据湖)建设、数据服务、BI报表展示等数据全链路处理流程。
https://gitee.com/wzylzjtn/data-warehouse-learning
https://github.com/Mrkuhuo/data-warehouse-learning
https://bigdatacircle.top/
项目演示:
02
文档目录
0 Flink版本及代码下载... 41 基本架构... 51.1 运行时架构图... 51.1.1 Client 61.1.2 JobManager 61.1.3 TaskManager 71.1.4 Task Solts. 71.2 Flink中的API 141.2.1 SQL. 141.2.2 Table API 151.2.3 Core APIs. 161.2.4 有状态实时流处理... 172 部署模式... 182.1 Local 开发模式... 182.1.1 在Flink 项目中添加本地模式 WebUI的依赖... 182.1.2 在代码中启用本地WebUI 182.1.3 编写完整代码启动并访问WebUI 192.2 Flink安装... 212.2.1 安装包下载... 212.2.2 OpenJDK 8 安装... 212.2.3 安装步骤(单机版)... 242.3 Flink Session 集群... 272.5 Flink Application 集群... 303 Event Time & Window & Watermark. 313.1 时间语义... 323.1.1 Event Time. 323.1.2 Processing Time. 333.3.1 WaterMark+Windows触发时机... 333.1.3 Ingestion Time. 343.2 Window.. 343.2.1滚动窗口(Tumbling window)... 353.2.1 滑动窗口(Sliding window)... 363.2.3 会话窗口(Session window)... 373.2.4 全局窗口(Global window)... 383.2.5 窗口原理... 393.3 Watermark. 413.3.2 watermark的传递... 423.3.3 watermark的2种生产方式... 433.3.4 处理空闲数据源... 453.4 allowedLateness. 463.5 SideOutput旁路输出... 464 容错及恢复... 474.1 State. 484.1.1 State概述... 484.1.2 State种类... 484.1.3 State的存在形式... 514.2 State backend. 524.2.1 Flink的三种状态后端... 524.3 Checkpoint 534.4 状态一致性... 544.4.1 一致性级别... 544.4.2 端到端一致性... 554.5 State设置过期时间... 554.5.1 datastream的TTL. 564.5.2 Table API 和 SQL 模块状态管理... 564.6 故障恢复... 574.7 Savepoint 585 Flink 优化... 585.1 代码优化... 585.2 参数优化... 595.3 资源优化... 615.4 作业优化... 626 Flink双流Join. 636.1 什么是join. 636.2 为什么要Join. 636.3 Join的种类... 646.4 Regular Join. 646.5 Interval Join(时间区间Join)... 686.6 Temporal Join(快照Join)... 727.7 6.7 Lookup Join(维度表Join) 756.8 Array Exception(数组列转行)... 767. Flink 反压... 777.1 从Flink数据传输看【反压】... 787.1.1 生产者-消费者模式... 787.1.2 何为【反压】... 787.2 基于Credit的反压机制... 807.2.1 算法介绍... 807.2.2 反压过程... 807.2.2 优化的点... 817.3 Flink Job 调优... 827.3.1 反压案例... 827.3.2 调优思路... 828 盘点Flink实战踩过的坑... 858.1 数据倾斜导致子任务积压... 858.2 Kafka 消息大小默认配置太小,导致数据未处理... 868.3 Tps 很大,Kafka Ack 默认配置 拖慢消息处理速度... 868.4 The heartbeat of TaskManager with id container ....... timed out 868.5 Kafka partition leader切换导致Flink重启... 878.6 注意 mapWithState & TTL 的重要性... 878.7 部署和资源问题... 888.8 作业问题... 909 Flink任务内存泄漏导致频繁Full GC导致CPU暴增问题排查... 919.1 现象... 919.2 初步分析... 919.2.1 为什么单个 Pod CPU 100% 会导致整个 Flink 任务消费延迟?... 929.2.2 为什么消费延迟一段时间后会恢复?... 929.2.3 是否会造成数据丢失?... 949.3 原因定位... 949.3.1 分析Java进程及线程的CPU使用率... 959.3.2 分析GC日志... 969.3.3 分析内存泄漏... 979.3.4 定位代码... 989.4 总结... 99
03
文档获取

04
进交流群群添加作者

推荐阅读系列文章
【视频】| 2024最新版【实时数仓数据湖实战教程视频】重磅更新,打通新手到大牛的最后一公里 【视频】| 1. Flink基本架构概述 【视频】| 2. Flink任务运行时架构图详解 【视频】| 3. Flink 任务、子任务、算子链及Slot共享详解 【视频】| 4. Flink四种API详解及代码演示 【视频】| 5. 如何在IDEA中启动Flink任务并看到WEBUI呢? 【视频】| 6. Centos8 安装Flink1.18.1 详细教程 【视频】| 7. Flink 使用 Session & Application 模式提交任务实战演示 【视频】| 8. Flink 三种时间语义详解及代码实战 【视频】| 9. Flink 窗口函数是个好东西,你真的会用吗? 【视频】| 10. Flink乱序问题解决神器Watermark详解及代码实战 【视频】| 11. Flink Watermark何种情况下可以触发窗口计算? 【视频】| 12.Flink 并行运行时Watermark如何向下传递? 【视频】| 13.Flink Watermark的两种产生方式:标点水位线和周期水位线详解 【视频】| 14.Flink Watermark卡住不动,出现eventtime倾斜问题怎么办? 【视频】| 15.Flink Watermark都包不住的这部分迟到数据怎么处理? 【视频】| 16.Flink 如何保证数据不丢失?终极大招旁路输出(SideOutput)详解 【视频】| 17.Flink State有哪几种类型? 【视频】| 18.statebacked的配置方式有哪几种↗ 【视频】| 19.Flink进行checkpoint时barrier对齐和不对齐的区别是什么? 【视频】| 20.Flink一致性语义和checkpoint时barrier对齐和不对齐的关系是什么? 【视频】| 21.Flink状态无限增长导致OOM该如何处理? 【视频】| 22.Flink 三种故障恢复策略哪个更好用?
文章转载自大数据技能圈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





