Michael_PK
资深大数据架构师, 八年互联网公司一线研发经验,担任大数据架构师。主要从事基于Spark/Flink为核心打造的大数据公有云、私有云数据平台产品的研发。改造过Hadoop、Spark等框架的源码为云平台提供更高的执行性能。集群规模过万,有丰富的大数据项目实战经验以及授课经验(授课数千小时,深受学员好评)。
课程简介
Flink已经成为高薪大数据工程师的必备技能,越早掌握,越能占得红利。本课程带你原理出发,构建知识体系,并引入热门OLAP引擎ClickHouse,整合Flink搭建企业级大数据实时分析应用,带你彻底打通Flink开发任督二脉。
课程目标
从零开始,原理出发,案例驱动,吃透Flink开发方方面面
搭建Flink完整知识体系
- 快速入门Flink
- 轻松上手项目部署
- 全面掌握六大核心知识
实战企业级大数据项目
- 核心组件二次开发
- 结合ClickHouse开发企业级
- 大数据实时场景
- 实时数仓项目拓展实践
提升实际问题解决能力
- 架构/框架选型?
- 升级、落地、性能调优?
- 技术大牛如何思考问题?
课程目录
第1章 Flink认知篇
- 视频:1-1 课前须知,这里有你需要了解得一切 (09:02)试看
- 视频:1-2 课程目录 (01:39)
- 视频:1-3 业界大数据分布式计算框架 (04:22)
- 视频:1-4 初识Flink (10:47)
- 视频:1-5 什么是Flink (12:12)
- 图文:1-6 【科普小贴士】Flink发展史&特点&行业应用
- 视频:1-7 学习一个新框架的方法论 (19:58)
第2章 Flink本地开发快速上手篇 试看17 节 | 78分钟
- 视频:2-1 课程目录 (01:38)
- 视频:2-2 Maven部署 (09:20)
- 视频:2-3 IDEA社区版和旗舰版区别 (03:17)
- 视频:2-4 基于官方提供的命令来构建Flink项目 (10:25)
- 视频:2-5 基于IDEA构建多module的Flink项目 (11:31)
- 视频:2-6 Flink编程模型 (04:19)
- 视频:2-7 基于Flink开发第一个实时处理案例之需求分析 (04:41)
- 视频:2-8 基于Flink开发第一个实时处理案例之功能实现一 (11:44)
- 视频:2-9 基于Flink开发第一个实时处理案例之功能实现二 (01:38)
- 视频:2-10 基于Flink开发第一个实时处理案例之功能实现三 (05:14)
- 视频:2-11 基于Flink开发第一个批处理案例之需求分析 (01:11)
- 视频:2-12 基于Flink开发第一个批处理案例之功能实现 (03:52)
- 视频:2-13 基于Flink开发第一个批处理案例之功能实现重构 (02:39)
- 视频:2-14 基于Flink编程套路总结 (03:14)试看
- 视频:2-15 本章重难点总结 (02:20)
- 作业:2-16 【讨论题】关于数据结果的思考
- 作业:2-17 【任务题】Lambda 表达式版案例实现
第3章 Flink部署篇10 节 | 53分钟
- 视频:3-1 课程目录 (01:51)
- 图文:3-2 【环境配置】云主机开通及配置
- 视频:3-3 Flink架构 (11:59)
- 视频:3-4 Flink部署 (16:38)
- 视频:3-5 Flink UI参数讲解 (04:53)
- 视频:3-6 通过命令行方式提交&展示&取消Flink作业 (09:53)
- 视频:3-7 通过UI方式提交&展示&取消Flink作业 (03:56)
- 视频:3-8 关于并行度的补充 (03:02)
- 作业:3-9 【讨论题】知识梳理
- 作业:3-10 【任务题】Flink集群部署应用
第4章 Flink实时处理核心API基础篇21 节 | 100分钟
- 视频:4-1 课程目录 (01:24)
- 视频:4-2 DataStream API概述 (07:38)
- 视频:4-3 StreamExecutionEnvironment详解 (07:45)
- 视频:4-4 Source概述 (08:56)
- 视频:4-5 Source API编程之Socket及并行度 (05:11)
- 视频:4-6 Source API编程之并行集合及并行度 (06:13)
- 图文:4-7 【核心组件部署】ZooKeeper&Kafka部署
- 视频:4-8 Source API编程之对接Kafka数据 (07:18)
- 视频:4-9 Transformation概述 (06:41)
- 视频:4-10 Transformation算子之map (11:12)
- 视频:4-11 Transformation算子之filter (05:19)
- 视频:4-12 Transformation算子之flatMap (05:18)
- 视频:4-13 Transformation算子之keyBy (06:47)
- 视频:4-14 Transformation算子之reduce (08:42)
- 视频:4-15 Sink概述 (02:31)
- 视频:4-16 Sink之print&printToErr及并行度 (09:00)
- 作业:4-17 【任务题】词频统计
- 作业:4-18 【任务题】Kafka消息的发送和接收
- 作业:4-19 【任务题】readTextFile的并行度
- 作业:4-20 【面试讨论题】Flink中的并行度
- 作业:4-21 【面试讨论题】Task Slot的理解
第5章 Flink实时处理核心API进阶篇 试看20 节 | 100分钟
- 视频:5-1 课程目录 (03:18)
- 视频:5-2 MapFunction&RichMapFunction认识 (06:19)
- 视频:5-3 通过RichMapFunction认识对应的生命周期方法 (07:25)
- 视频:5-4 SourceFunction代码层级 (03:23)试看
- 视频:5-5 自定义单并行度Source (09:15)
- 视频:5-6 自定义多并行度Source (01:44)
- 视频:5-7 自定义Source读取MySQL数据 (13:15)
- 视频:5-8 Transformation算子之union (04:14)
- 视频:5-9 Transformation算子之connect (07:37)
- 视频:5-10 Transformation算子之CoMapFunction (06:10)
- 视频:5-11 Transformation算子之CoFlatMapFunction (02:17)
- 视频:5-12 自定义分区器 (10:22)
- 视频:5-13 自定义MySQLSink功能实现 (10:33)
- 视频:5-14 自定义MySQLSink需求分析 (04:20)
- 视频:5-15 RedisSink功能实现 (09:02)
- 图文:5-16 【核心组件部署】Redis部署
- 作业:5-17 【任务题】自定义RedisSink
- 作业:5-18 【任务题】自定义数据源
- 作业:5-19 【面试讨论题】Flink中的分区策略
- 作业:5-20 【面试讨论题】Flink DataStream中使用得算子
第6章 【项目实战第一篇】基于Flink+ClickHouse构建大数据实时分析项目实战23 节 | 92分钟
- 视频:6-1 课程目录 (03:17)
- 视频:6-2 同类产品分析 (06:07)
- 视频:6-3 项目架构 (06:15)
- 视频:6-4 项目子工程创建 (01:41)
- 视频:6-5 字段说明 (05:25)
- 视频:6-6 用户行为日志类定义 (03:01)
- 视频:6-7 功能一需求分析 (03:18)
- 视频:6-8 功能一实现之数据清洗 (04:59)
- 视频:6-9 功能一实现之统计分析 (04:56)
- 视频:6-10 功能一实现之统计结果入Redis (05:30)
- 视频:6-11 功能一实现之拓展 (04:08)
- 视频:6-12 需求二之功能分析 (06:51)
- 视频:6-13 需求二之IP解析测试 (06:30)
- 视频:6-14 功能二实现之自定义UDF函数解析IP地址 (04:55)
- 视频:6-15 功能二实现之统计分析及入库 (03:35)
- 视频:6-16 需求二之异步IO补充 (14:09)
- 视频:6-17 前面两个需求可能会遇到的问题提炼 (04:55)
- 视频:6-18 重难点总结 (02:22)
- 作业:6-19 【任务题】统计新老用户的数据分布(1)
- 作业:6-20 【任务题】统计新老用户的数据分布(2)
- 作业:6-21 【任务题】统计结果存储
- 作业:6-22 【面试讨论题】在数据清洗过程中做过的处理
- 作业:6-23 【面试讨论题】使用Flink做实时处理项目架构选型
第7章 Flink时间语义及Window API篇23 节 | 94分钟
- 视频:7-1 课程目录 (04:09)
- 视频:7-2 时间三兄弟 (10:16)
- 视频:7-3 时间三兄弟举例解释 (05:31)
- 视频:7-4 初识Window (03:55)
- 视频:7-5 Window分类 (08:19)
- 视频:7-6 Window Assigner (04:16)
- 视频:7-7 滚动窗口 (03:40)
- 视频:7-8 滑动窗口 (03:20)
- 视频:7-9 会话窗口 (03:04)
- 视频:7-10 窗口生命周期 (04:45)
- 视频:7-11 基于ProcessingTime的Non-Keyed滚动窗口实战 (11:03)
- 视频:7-12 基于ProcessingTime的Keyed滚动窗口实战 (04:21)
- 视频:7-13 WindowFunction概述 (04:02)
- 视频:7-14 WindowFunction之ReduceFunction实战 (05:12)
- 视频:7-15 WindowFunction补充 (03:04)
- 视频:7-16 WindowFunction之ProcessWindowFunction实战 (10:19)
- 视频:7-17 重难点总结 (04:14)
- 作业:7-18 【任务题】会话窗口编程
- 作业:7-19 【任务题】滑动窗口编程
- 作业:7-20 【面试讨论题】数据倾斜解决方案
- 作业:7-21 【面试讨论题】对WindowFunction的认识
- 作业:7-22 【面试讨论题】对于时间语义的理解
- 作业:7-23 【面试讨论题】Flink中的窗口分析
第8章 Flink Watermark11 节 | 64分钟
- 视频:8-1 课程目录 (02:57)
- 视频:8-2 Watermark概述 (12:53)
- 视频:8-3 基于EventTime和Watermark结合滚动窗口综合案例之没有延迟 (14:27)
- 视频:8-4 基于EventTime和Watermark结合滚动窗口综合案例之有延迟 (15:16)
- 视频:8-5 基于EventTime和Watermark结合滚动窗口综合案例之延迟数据丢失 (05:01)
- 视频:8-6 基于EventTime和Watermark结合滚动窗口综合案例之捕获到延迟数据 (08:05)
- 视频:8-7 重难点总结 (04:31)
- 作业:8-8 【任务题】会话窗口编程
- 作业:8-9 【任务题】滑动窗口编程
- 作业:8-10 【面试讨论题】乱序数据解决方案
- 作业:8-11 【面试讨论题】Flink中水印得理解
第9章 Flink状态管理篇27 节 | 150分钟
- 视频:9-1 课程目录 (02:53)
- 视频:9-2 状态能为什么带来什么 (09:06)
- 视频:9-3 State分类 (16:10)
- 视频:9-4 使用ValueState完成求平均数功能 (14:45)
- 视频:9-5 使用MapState完成求平均数功能 (05:59)
- 视频:9-6 Flink Checkpoint机制 (15:04)
- 视频:9-7 Flink应用程序中开启checkpoint (05:32)
- 视频:9-8 Restart Strategy (08:20)
- 视频:9-9 Checkpoint整合重启策略功能测试screenflow (07:35)
- 视频:9-10 Checkpoint整合重启策略及状态功能测试screenflow (05:29)
- 视频:9-11 Flink StateBackend (06:01)
- 视频:9-12 Flink StateBackend之MemoryStateBackend (05:59)
- 视频:9-13 Flink StateBackend之FsStateBackend (02:46)
- 视频:9-14 Flink StateBackend之RocksDBStateBackend (05:35)
- 视频:9-15 FsStateBackend 本地文件系统功能测试 (02:49)
- 视频:9-16 ExternalizedCheckpointCleanup在生产上的使用 (05:12)
- 视频:9-17 FsStateBackend HDFS功能测试 (02:32)
- 视频:9-18 Checkpoint全流程测试之Flink UI操作 (07:28)
- 视频:9-19 Checkpoint全流程测试之命令行操作 (03:47)
- 视频:9-20 Checkpoint小结 (04:34)
- 视频:9-21 Savepoints (09:26)
- 视频:9-22 重难点总结 (02:23)
- 作业:9-23 【任务题】使用ListState实现求平均数
- 作业:9-24 【任务题】RocksDBStateBackend应用
- 作业:9-25 【面试讨论题】Flink的容错机制
- 作业:9-26 【面试讨论题】Checkpoint和SavePoint的区别
- 作业:9-27 【面试讨论题】Flink中的状态存储
第10章 【项目实战第二篇】基于Flink+ClickHouse构建大数据实时分析项目实战13 节 | 64分钟
- 视频:10-1 课程目录 (02:19)
- 视频:10-2 功能一之需求分析 (09:22)
- 视频:10-3 功能一之实现01 (04:08)
- 视频:10-4 功能一之实现02 (14:50)
- 视频:10-5 功能一之实现03 (11:06)
- 视频:10-6 功能二之需求分析 (03:26)
- 视频:10-7 功能二之实现01 (07:26)
- 视频:10-8 功能二之实现02 (03:22)
- 视频:10-9 重难点总结 (07:05)
- 作业:10-10 【任务题】布隆过滤器的原理
- 作业:10-11 【任务题】ValueState应用
- 作业:10-12 【面试讨论题】布隆过滤器应用分析
- 作业:10-13 【面试讨论题】分组TopN的实现思路及数据倾斜的解决方案
第11章 【项目实战第三篇】基于Flink+ClickHouse构建大数据实时分析项目实战14 节 | 78分钟
- 视频:11-1 课程目录 (02:46)
- 视频:11-2 Flink对接Kafka数据入门 (11:20)
- 视频:11-3 Flink整合Kafka代码开发 (11:55)
- 视频:11-4 参数配置化并读取 (07:52)
- 视频:11-5 Flink对接Kafka完整参数配置开发 (08:28)
- 视频:11-6 Flink对接Kafka数据封装V1版本 (03:54)
- 视频:11-7 Flink对接Kafka数据封装V2版本 (01:18)
- 视频:11-8 Flink对接Kafka数据封装V3版本 (05:38)
- 视频:11-9 Flink对接Kafka数据分析结果入Redis (06:55)
- 视频:11-10 Flink ExactlyOnce图解 (08:39)
- 视频:11-11 Flink两阶段提交 (08:46)
- 作业:11-12 【任务题】自定义MySQL Sink
- 作业:11-13 【面试讨论题】Flink整合kafka的两阶段提交的认识
- 作业:11-14 【面试讨论题】Flink如何实现Exactly-Once
第12章 初识ClickHouse24 节 | 109分钟
- 视频:12-1 课程目录 (02:05)
- 视频:12-2 背景需求 (03:39)
- 视频:12-3 初识ClickHouse (08:17)
- 视频:12-4 ClickHouse部署及快速入门 (10:59)
- 视频:12-5 ClickHouse常用参数讲解 (02:53)
- 视频:12-6 数据类型之Int和Float (08:45)
- 视频:12-7 数据类型之Decimal (07:37)
- 视频:12-8 数据类型之Bool (01:41)
- 视频:12-9 数据类型之String&FixedString&UUID (07:35)
- 视频:12-10 数据类型之Date&DateTime&DateTime64 (06:49)
- 视频:12-11 数据类型之Array (01:53)
- 视频:12-12 数据类型之Tuple (03:32)
- 视频:12-13 数据类型之Nested (04:03)
- 视频:12-14 数据库和表创建语法及数据库引擎 (05:38)
- 视频:12-15 初识表引擎 (03:13)
- 视频:12-16 表引擎之TinyLog (06:29)
- 视频:12-17 表引擎之StripeLog (05:23)
- 视频:12-18 表引擎之Log (03:01)
- 视频:12-19 ClickHouse整合MySQL (10:18)
- 视频:12-20 ClickHouse API编程 (04:55)
- 作业:12-21 【任务题】ClickHouse的集群搭建
- 作业:12-22 【任务题】ClickHouse的数据处理
- 作业:12-23 【面试讨论题】谈谈对 ClickHouse 引擎得理解
- 作业:12-24 【面试讨论题】ClickHouse得选择必然性
第13章 【项目实战终极篇】基于Flink+ClickHouse构建大数据实时分析项目实战18 节 | 95分钟
- 视频:13-1 课程目录 (01:34)
- 视频:13-2 现存问题描述及分析 (07:10)
- 视频:13-3 ReplacingMergeTree引擎的用法 (06:46)
- 视频:13-4 CH表如何设计 (04:54)
- 视频:13-5 CH ID生成策略 (09:40)
- 视频:13-6 Flink整合CH插入数据 (10:29)
- 视频:13-7 使用Flink进行数据清洗 (08:23)
- 视频:13-8 Flink清洗后的数据落地到CH并进行各种维度的统计分析 (09:05)
- 视频:13-9 全流程服务器测试 (05:34)
- 视频:13-10 引入CEP (04:38)
- 视频:13-11 CEP模式概述 (05:34)
- 视频:13-12 CEP功能开发 (08:32)
- 视频:13-13 CEP功能测试 (04:15)
- 视频:13-14 前端UI展示 (07:35)
- 作业:13-15 【任务题】数据写入ClickHouse
- 作业:13-16 【任务题】Flink on YARN运行全流程
- 作业:13-17 【任务题】使用CEP完成数据提取
- 作业:13-18 【面试讨论题】实时数据分析平台构建思路
第14章 Flink DataSet篇16 节 | 71分钟
- 视频:14-1 课程目录 (01:53)
- 视频:14-2 Flink批处理概述 (06:47)
- 视频:14-3 对接数据源为csv格式的数据 (09:49)
- 视频:14-4 对接数据源为压缩后的数据 (02:16)
- 视频:14-5 对接数据源为子目录的数据 (03:19)
- 视频:14-6 Transformation之map (05:42)
- 视频:14-7 Transformation之mapPartition (03:04)
- 视频:14-8 Transformation之distinct (02:47)
- 视频:14-9 Transformation之first-n (07:37)
- 视频:14-10 Sink (07:24)
- 视频:14-11 Flink中分布式缓存的使用 (08:05)
- 视频:14-12 Flink中计数器的使用 (07:37)
- 视频:14-13 重难点总结 (04:34)
- 作业:14-14 【任务题】实现join的功能
- 作业:14-15 【任务题】join和cross算子的编程
- 作业:14-16 【面试讨论题】Flink中使用分布式缓存的看法
第15章 Flink Table&SQL API篇23 节 | 115分钟
- 视频:15-1 课程目录 (03:32)
- 视频:15-2 Flink Table API&SQL概述 (06:08)
- 视频:15-3 Flink Table API&SQL编程模型 (08:03)
- 视频:15-4 Flink SQL整合DataStream编程 (06:59)
- 视频:15-5 Flink Table API整合DataStream编程 (03:24)
- 视频:15-6 Flink Table API整合DataStream编程toRetractStream使用 (06:34)
- 视频:15-7 动态表和连续查询 (07:43)
- 视频:15-8 图解连续查询 (05:24)
- 视频:15-9 Table转Stream的方式 (07:06)
- 视频:15-10 Flink Table API&SQL Connector概述 (03:38)
- 视频:15-11 Flink Table API&SQL FileSystem Connector读取数据 (08:45)
- 视频:15-12 Flink Table API&SQL FileSystem Connector写出数据 (04:33)
- 视频:15-13 Flink Table API结合Window及EventTime编程 (16:13)
- 视频:15-14 Flink SQL结合Window及EventTime编程 (05:03)
- 视频:15-15 Flink UDF函数概述 (06:34)
- 视频:15-16 Flink UDF函数编程实战 (08:24)
- 视频:15-17 重难点总结 (06:10)
- 作业:15-18 【任务题】实现数据的对接和Sink
- 作业:15-19 【任务题】实现EventTime结合滑动窗口的功能测试
- 作业:15-20 【任务题】完成IP解析的功能开发
- 作业:15-21 【面试讨论题】Flink项目中选择哪种访问方式
- 作业:15-22 【面试讨论题】Flink使用Kafka对接时的注意事项
- 作业:15-23 【面试讨论题】Flink SQL是如何实现SQL的解析的
第16章 Flink版本升级篇9 节 | 65分钟
- 视频:16-1 课程目录 (02:00)
- 视频:16-2 开发环境准备 (04:16)
- 视频:16-3 老版本keyBy的用法 (07:06)
- 视频:16-4 新版本keyBy的用法 (02:44)
- 视频:16-5 老版本WM的用法 (06:29)
- 视频:16-6 新版本WM的用法 (08:14)
- 视频:16-7 新老版本Table API&SQL整合WM的用法 (16:10)
- 视频:16-8 Flink on YARN运行及升级 (17:19)
- 图文:16-9 【拓展阅读】Flink版本升级核心梳理
第17章 【拓展】基于Flink构建实时数仓项目实战15 节 | 103分钟
- 视频:17-1 课程目录 (03:50)
- 视频:17-2 实时数仓架构及分层 (16:59)
- 视频:17-3 认识Canal (06:37)
- 视频:17-4 Canal对接Kafka联调 (15:12)
- 视频:17-5 使用TCP方式拉取Canal数据 (16:38)
- 视频:17-6 双流JOIN设计思路 (07:27)
- 视频:17-7 双流JOIN实现之对接数据 (09:19)
- 视频:17-8 双流JOIN实现之设置WM (03:53)
- 视频:17-9 双流JOIN实现之JOIN实现 (09:52)
- 视频:17-10 双流JOIN实现之未关联上的数据处理方案 (05:41)
- 视频:17-11 实时数仓数据流转&命名规范 (06:33)
- 作业:17-12 【任务题】基于Flink实现维表的join
- 作业:17-13 【任务题】双流join的测试
- 作业:17-14 【面试讨论题】如何基于UI配置方式完成项目设计
- 作业:17-15 【面试讨论题】maxwell和canal的区别
第18章 总结和展望1 节 | 15分钟
- 视频:18-1 课程总结和回顾 (14:10)
免责声明:
①本站所有资源均由用户自发贡献上传,用户自发分享网盘链接,仅限用于试看学习和参考,不得将上述资源用于商业或其它非法用途,否则一切后果请用户自负,与本站无关。
②本站所有资源均为免费提供,目的是让大家节省学习和摸索的成本,所收取的相应费用并非资源销售费用,而是打赏捐赠给资源提供者收集、整理、后期维护服务的辛苦费,与本站无利益关联。若需提供增值服务,则额外打赏资源提供者即可!
③资源下载后,请于24小时内从您的电脑中彻底删除!如您喜欢请移步官方网站购买,将得到更好的学习交流服务。
④所有资源均来自网络,版权归原作者所有,本站仅提供展示信息,一切问题与本站无关!
⑤如若侵犯到您的权益,请提供相关证明文件,按处理流程给我们反馈【侵权资源处理流程】,我们将在72小时内处理!如没有提供相关文件,一律视为诈骗恶搞,将拉黑处理!
①本站所有资源均由用户自发贡献上传,用户自发分享网盘链接,仅限用于试看学习和参考,不得将上述资源用于商业或其它非法用途,否则一切后果请用户自负,与本站无关。
②本站所有资源均为免费提供,目的是让大家节省学习和摸索的成本,所收取的相应费用并非资源销售费用,而是打赏捐赠给资源提供者收集、整理、后期维护服务的辛苦费,与本站无利益关联。若需提供增值服务,则额外打赏资源提供者即可!
③资源下载后,请于24小时内从您的电脑中彻底删除!如您喜欢请移步官方网站购买,将得到更好的学习交流服务。
④所有资源均来自网络,版权归原作者所有,本站仅提供展示信息,一切问题与本站无关!
⑤如若侵犯到您的权益,请提供相关证明文件,按处理流程给我们反馈【侵权资源处理流程】,我们将在72小时内处理!如没有提供相关文件,一律视为诈骗恶搞,将拉黑处理!