课程内容
课程大纲
本课程的大纲设置,注重的是Flink基础和核心技术的梳理和掌握,之后会对其中几个重要的技术点做深入分析。针对企业内训的需求,我们对大纲的设置,特别增加了学以致用的实战环节,让企业学员能够在学习完Flink技术知识后,具备将Flink应用到实际生产环境中的能力,通过短时间的技术学习,为公司创造价值和提高技术生产的效率。
此课程共两天,第一天为Flink的基础和进阶技术知识点,以及第一个实战项目。第二天为Flink的高级技术知识点,包含了第二个实战项目。
课程大纲
1.流式处理架构 | 1.1 流式处理背景及架构介绍 1.2 流式处理行业案例以及Flink的适用场景及应用概述 |
2.Flink概述 | 2.1 什么是Flink 2.2 Flink架构 2.3 Flink 与 Spark的比较以及为什么选择Flink 2.4 Flink开发环境配置和搭建 |
3.Flink编程模型 | 3.1 数据集类型 3.2 Flink编程接口 3.3 Flink程序结构 3.4 Flink数据类型 |
4.DataStream API介绍与使用 | 4.1 DataStream编程模型 4.2 Flink Execution 参数 4.3 Transformation 4.4 时间概念与Watermark 4.5 Windows窗口计算 4.6 作业链和资源组 4.7 Asynchronous I/O异步API 4.8 Asynchronous I/O异步原理 |
5.Flink Connector数据源 | 5.1 FlinkKafkaSource序列化、消费模式 5.2 FlinkKafkaSource容错、动态分区及topic 5.3 FlinkKafkaSink序列化、配置、分区与容错 5.4自定义Source和Sink |
6.DataSet API介绍与使用 | 6.1 DataSet API,Transformation 6.2 迭代计算 6.3 广播变量与分布式缓存 6.4 语义注解 6.5 DataSetUtils工具类 |
7.Table API & SQL介绍与使用 | 7.1 TableEnviroment概念 7.2 Flink Table API 7.3 Flink SQL使用 7.4 自定义函数 7.5 自定义数据源 |
8.两个完整的Flink实现案例: | 8.1 Kafka 数据流处理,写入HDFS 8.2多源数据关联与聚合分析 |
9.Flink有状态的计算、状态管理和容错 | 9.1 什么是有状态计算 9.2 有状态计算中的数据一致性挑战 9.3 理解state状态 9.4 Operator State 的使用及Redistribute 9.5 Keyed State的使用与Redistribute 9.6 Broadcast State的妙用 9.7 Checkpoint核心原理剖析 9.8 Checkpoint使用条件及使用步骤 9.9 Checkpoint相关配置及重启策略 9.10 Savepoint的触发、Job恢复及删除 |
10.实战项目1:用Flink实现一个通用、配置化的海量数据流、批处理产品。 | 10.1实现配置管理 10.2实现数据源加载 10.3实现主流程控制 10.4实现任务管理 |
11.Flink部署与应用 | 11.1 Flink集群部署 11.2 Flink高可用配置 11.3 Flink安全管理 11.4 Flink集群升级 11.5 Flink on Yarn的原理和运行方式 11.6 Flink on Yarn 提交任务与停止任务 |
12.Flink监控与性能优化 | 12.1 监控指标 12.2 Backpressure监控与优化 12.3 Checkpointing监控与优化 12.4 Flink内存优化 |
13.Flink组件栈介绍与使用 | 13.1 Flink复杂事件处理 13.2 FlinkGelly图计算应用 13.3 FlinkML机器学习应用 13.4 Flink Metrics 与监控 |
14.Flink源码学习 | 14.1 Flink源码编译 14.2 如何阅读和学习Flink源码 14.3 Flink源码实现思路以及依赖管理 14.4 Flink核心模块源码带读与分析 |
15.Flink在各大互联网公司的典型应用剖析 | 15.1Flink在阿里的应用 15.2Flink在字节跳动的应用 15.3Flink在腾讯的应用 15.4Flink在微博的应用 15.5Flink在其他互联网公司的应用 15.6Flink 最佳实践 |
16.实战项目2:使用Flink实现电商用户支付行为分析和审计风控 | 16.1电商支付数据模型(订单,流水,账户余额,发现表) 16.2用户行为分析需求与维度指标设计 16.3审计风控的需求与实现思路 16.4Flink代码实现结构与业务逻辑细节拆解 |