课程简介
Apache Flink项目是大数据处理领域最近冉冉升起的一颗新星,其不同于其他大数据项目的诸多特性吸引了越来越多人的关注。Apache Flink是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算,也可部署在各种集群环境,对各种大小的数据规模进行快速计算。
本次课程将深入分析Flink的关键技术与特性,加深学员对Flink的体系架构和生态圈组件的了解,同时结合MapReduce、Spark及Storm等大数据处理框架和业务场景,帮助学员熟悉大数据流处理与批处理的基本概念。
课程收益
1、帮助学员掌握掌握基于Flink的大数据的体系架构;
2、帮助学员掌握Flink的安装与部署;
3、帮助学员掌握部署基于Flink的企业大数据平台环境的能力
受众人群
大数据的研发人员,大数据构师,大数据运维人员
课程周期
2天(12H)
课程大纲
标题 | 授课内容 |
一、大数据基础与流批一体 | 1. 大数据基础理论 (1) 什么是大数据?大数据存储与计算的特点 (2) 数据仓库与大数据 (3) 离线数仓与实时数仓 (4) OLTP与OLAP 2. 常见的大数据计算引擎及其架构 (1) 大数据离线计算引擎 ① MapReduce ② Spark Core ③ Flink DataSet (2) 大数据实时计算引擎 ① Storm ② Spark Streaming ③ Flink DataStream (3) 企业实时数仓应用案例 ① 数仓架构设计思路 ② 实时数仓架构 1) Lambda数仓架构 2) Kappa数仓架构 ③ 基于Flink的流批一体架构 1) 基于Flink的流批一体数据湖架构 2) 流批一体的数据集成 3) 基于Flink的流批一体数仓架构 |
二、Flink的体系架构 | 1. Flink的体系架构与部署 (1) Flink的体系架构与生态圈系统 (2) Flink的安装与部署 (3) Flink的分布式缓存 (4) 对比:Flink、Storm和Spark Streaming (5) 对比Flink的版本差异 2. Flink on Yarn的实现 (1) 什么是Yarn?与Yarn的体系架构 (2) Yarn的资源调度方式 (3) Flink on Yarn的两种模式 ① 内存集中管理模式 ② 内存Job管理模式 (4) Flink on Yarn两种模式的区别 3. Flink HA的实现 (1) 什么是HA?为什么需要HA? (2) 大数据分布式协调框架ZooKeeper ① 什么是ZooKeeper ② 搭建ZooKeeper环境 ③ ZooKeeper的特性 ④ 实现分布式锁 (3) 部署Flink HA高可用架构环境 |
三、Flink开发基础 | 1. Flink开发入门 (1) Flink批处理开发 ① Java版本WordCount ② Scala版本WordCount (2) Flink流处理开发 ① Java版本WordCount ② Scala版本WordCount (3) 使用Flink Scala Shell (4) Flink的并行度分析 2. Flink DataSet API与DataStreaming API开发 (1) DataSet API的常用算子 (2) DataStream API ① DataSources 1) 基本的数据源示例 2) 自定义数据源 3) 内置的Connector ② DataStream Transformation 转换操作 ③ Data Sinks 3. 开发Flink Table & SQL程序 (1) Flink Table & SQL简介 (2) 开发Flink Table & SQL程序 (3) 使用Flink SQL Client 4. 使用Flink CEP (1) Flink CEP概述 (2) Pattern API ① 个体模式 ② 复合模式 ③ 模式组 ④ 匹配后跳过策略 (3) 模式的检测 (4) 应用实例 |
四、Flink开发进阶
| 1. Flink的状态管理和恢复 (1) 状态:State ① Keyed State ② Operator State (2) 检查点与容错 ① 检查点的配置: ② state backend存储模式 ③ 修改State Backend的两种方式 (3) Restart Strategies(重启策略) 2. Flink流处理中的Window和Time (1) 窗口:Window ① Time Window示例 ② Count Window示例 (2) Time:时间 (3) WaterMark:水位线 ① Watermark的原理 ② Watermark的三种使用情况 ③ 设置Watermark的核心代码 ④ 窗口的allowedLateness 3. CDC变更数据捕获 (1) 什么是Flink CDC? (2) 数据库的日志 ① MySQL binlog日志 ② Oracle redo日志 ③ MongoDB Oplog日志 (3) Flink CDC的类型 ① DataStream方式 ② Flink SQL方式 ③ 自定义反序列化器 (4) Flink CDC 1.0 存在的问题 ① 一致性通过加锁保证 ② 不支持水平拓展 ③ 全量读取阶段不支持ckeckpoint (5) Flink CDC 2.0 的新特性 ① MySQL CDC 连接器改进 ② 新增 Oracle CDC 连接器 ③ 新增 MongoDB CDC 连接器 |
五、云原生环境下的Flink集群 | 1. 云原生技术核心:Docker (1) Docker与Kubernetes基础 (2) Docker的体系架构与运行 (3) Docker的镜像与容器 2. 云原生技术核心:Kubernetes (1) Kubernetes的体系架构 (2) Kubernetes的组件 (3) 在K8s中部署应用 (4) K8s中的Pod 3. 集成Flink与Kubernetes (1) Flink on Kubernetes的整体架构 (2) Flink on Kubernetes的交互原理 (3) Standalone Kubernetes ① Application Mode原理与优缺点 ② Per-Job Mode原理与优缺点 ③ Session Mode原理与优缺点 (4) Native Kubernetes ① Application Mode原理与优缺点 ② Per-Job Mode原理与优缺点 ③ Session Mode原理与优缺点 |
六、集成Flink、Flink的监控优化与实战 | 1. Flink与外部系统的集成 (1) Flink与Kafka ① Kafka的体系架构 ② Kafka消息机制的读写原理 ③ Kafka的生产者与消费者 ④ 集成Flink与Kafka (2) 集成Flink与Redis 2. Flink的监控与优化 (1) 监控指标 ① 系监控指标 ② 监控指标注册 ③ 监控指标报表 (2) Backpressure监控与优化 ① Backpressure进程抽样 ② Backpressure页面监控 ③ Backpressure配置 (3) Checkpointing监控与优化 ① Checkpointing页面监控 ② Checkpointing优化 (4) Flink内存优化 ① Flink内存配置 ② Network Buffers配置 |
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员