新一代大数据计算引擎 Flink从入门到实战
【课程介绍】随着云计算和大数据的快速发展,在企业中需要处理和分析的数据量越来越大,随着Flink社区的快速发展,很多公司采用以Flink为核心技术栈来打造统一的大数据处理平台 ,Flink正变得越来越火,此时学习,正当其时。课程中从核心知识的多语言(Java-Scala)讲解到部署实战,循序渐进,助力系统入门Flink企业级应用
【课程目录】
- 第1章 初识Flink了解Flink是什么,Flink应用程序运行的多样化,对比业界常用的流处理框架,Flink的发展趋势,Flink生态圈,Flink应用场景及Flink如何进行高效的Flink学习。
- 1-1 课程导学
- 1-2 (助你平稳踩坑,畅学无忧,课程学习与解决问题指南)
- 1-3 课程目录
- 1-4 Flink概述
- 1-5 Flink Layered API
- 1-6 Flink运行多样化
- 1-7 业界流处理框架对比
- 1-8 Flink Use Cases
- 1-9 Flink发展趋势
- 1-10 如何以正确的姿势来学习Flink
- 1-1 课程导学
- 第2章 快速上手开发第一个Flink应用程序动手搭建Flink的开发环境,快速使用Java和Scala语言开发第一个基于Flink的批处理和流式处理的应用程序。
- 2-1 课程目录
- 2-2 开发环境准备之JDK安装
- 2-3 开发环境准备之Maven安装
- 2-4 开发环境准备之IDEA安装
- 2-5 Flink批处理应用开发之需求描述
- 2-6 Flink批处理应用Java开发之环境准备
- 2-7 Flink批处理应用开发之八股文编程
- 2-8 Flink批处理应用Java开发之功能实现
- 2-9 Flink批处理应用Scala开发之环境准备
- 2-10 Flink批处理应用Scala开发之功能实现
- 2-11 使用Java和Scala开发Flink应用程序对比
- 2-12 Flink实时处理应用Java开发之功能实现
- 2-13 Flink实时处理应用Java开发之代码重构
- 2-14 Flink实时处理应用Scala开发之代码重构
- 2-15 开发过程中依赖的注意事项
- 第3章 编程模型及核心概念掌握Flink的核心概念及编程模型,如何在编程中执行key及转换函数,Flink支持的数据类型。
- 3-1 课程目录
- 3-2 核心概念概述
- 3-3 DataSet和DataStream
- 3-4 Flink编程模型
- 3-5 延迟执行
- 3-6 指定key之Tuple
- 3-7 指定key之字段表达式
- 3-8 指定key之key选择器函数
- 3-9 指定转换函数
- 3-10 Flink支持的数据类型
- 第4章 DataSet API编程掌握Flink批处理开发的DataSet API的编程,包括数据源、转换函数、Sink、计数器以及分布式缓存的编程。
- 4-1 课程目录
- 4-2 DataSet API开发概述
- 4-3 Flink综合Java和Scala开发的项目构建creenflow
- 4-4 Data Source宏观概述
- 4-5 从集合创建DataSet之Scala实现
- 4-6 从集合创建DataSet之Java实现
- 4-7 从文件或者文件夹创建DataSet之Scala实现
- 4-8 从文件或者文件夹创建DataSet之Java实现
- 4-9 从csv文件创建Dataset之Scala实现
- 4-10 从递归文件夹的内容创建DataSet之Scala实现
- 4-11 从压缩文件中创建DataSet之Scala实现
- 4-12 Transformation概述
- 4-13 Transformation函数map之Scala实现
- 4-14 Transformation函数map之Java实现
- 4-15 Transformation函数filter之Scala实现
- 4-16 Transformation函数filter之Java实现
- 4-17 Transformation函数mapPartition之Scala实现
- 4-18 Transformation函数mapPartition之Java实现
- 4-19 Transformation函数first之Scala实现
- 4-20 Transformation函数first之Java实现
- 4-21 Transformation函数flatMap之Scala实现
- 4-22 Transformation函数flatMap之Java实现
- 4-23 Transformation函数distinct之Scala和Java实现
- 4-24 Transformation函数join之Scala实现
- 4-25 Transformation函数outerJoin之Scala实现
- 4-26 Transformation函数join之Java实现
- 4-27 Transformation函数outerJoin之Java实现
- 4-28 Transformation函数cross之Scala实现
- 4-29 Transformation函数cross之Java实现
- 4-30 Transformation小结
- 4-31 Sink函数Scala实现
- 4-32 Sink函数Java实现
- 4-33 通过案例引入Flink的计数器
- 4-34 基于Flink编程的计时器之Scala实现
- 4-35 基于Flink编程的计时器之Java实现
- 4-36 基于Flink的分布式缓存功能的Scala实现
- 4-37 基于Flink的分布式缓存功能的Java实现
- 4-38 本章节小结及作业
- 第5章 DataStream API编程掌握Flink流处理开发的DataStream API的编程,包括数据源、转换函数、Sink的用法,以及如何自定义数据源和自定义Sink的实现。
- 5-1 DataStream API编程概述
- 5-2 从Socket创建DataStream之Java实现
- 5-3 从Socket创建DataStream之Scala实现
- 5-4 自定义数据源方式SourceFunction之Scala实现
- 5-5 自定义数据源方式ParallelSourceFunction之Scala实现
- 5-6 自定义数据源方式RichParallelSourceFunction之Scala实现
- 5-7 自定义数据源方式之Java实现
- 5-8 Transformation函数map和filter之Scala实现
- 5-9 Transformation函数map和filter之Java实现
- 5-10 Transformation函数union之Scala和Java实现
- 5-11 Transformation函数split和select之Scala实现
- 5-12 Transformation函数split和select之Java实现
- 5-13 自定义Sink之需求描述及表创建
- 5-14 自定义Sink之功能测试
- 5-15 DataStream API开发小结
- 第6章 Flink Table API & SQL编程了解Flink中统一编程模式的编程Table API以及SQL API的开发及使用。
- 6-1 课程目录
- 6-2 什么是Flink关系型API
- 6-3 Table API&SQL概述
- 6-4 使用Scala完成Table API&SQL功能的开发
- 6-5 使用Java完成Table API&SQL功能的开发
- 6-6 Table API&SQL其他功能介绍
- 第7章 Flink中的Time及Windows的使用掌握Flink中三种常用的Time处理方式,掌握Flink中滚动窗口以及滑动窗口的使用,了解Flink中的watermark。
- 7-1 课程目录
- 7-2 Processing Time详解
- 7-3 Event Time详解
- 7-4 Ingestion Time详解
- 7-5 如何在Flink中指定Time的类型
- 7-6 Windows概述
- 7-7 Window Assigners详解
- 7-8 基于Time和Count的Windows
- 7-9 Tumbling Windows详解及Scala编程
- 7-10 Tumbling Windows Java编程
- 7-11 Sliding Windows详解及Scala编程
- 7-12 Window Functions之ReduceFunction的Scala实现
- 7-13 Window Functions之ReduceFunction的Java实现
- 7-14 Window Functions之ProcessWindowFunction的Java实现
- 7-15 作业–Window Functions之ProcessWindowFunction的Scala实现
- 7-16 Flink watermark概述
- 第8章 Flink Connectors了解Flink中常用的Connector有哪些,了解HDFS Connector的用户,掌握Flink和Kafka对接的Connnector用法。
- 8-1 课程目录
- 8-2 Connectors概述
- 8-3 HDFS Connector的使用
- 8-4 Kafka Connector概述
- 8-5 OOTB环境的使用
- 8-6 ZooKeeper部署
- 8-7 Kafka部署及测试
- 8-8 Flink对接Kafka作为Source使用
- 8-9 Flink对接Kafka作为Sink使用
- 8-10 作业
- 8-11 Flink整合Kafka的offset管理及EXACTLY_ONCE语义
- 8-12 Flink整合Kafka的checkpoint常用参数设置梳理
- 第9章 Flink部署及作业提交掌握Flink的local、standalone、yarn模式的部署,如何提交Flink作业进行运行,熟悉Flink中常用的配置参数,掌握Flink cli的用法。
- 9-1 课程目录
- 9-2 Flink部署准备及源码编译
- 9-3 单机模式部署及代码提交测试
- 9-4 Flink Standalone模式部署及参数详解
- 9-5 Hadoop集群快速搭建
- 9-6 Flink on YARN两种方式
- 9-7 Flink on YARN第一种模式实操
- 9-8 Flink on YARN第二种模式实操
- 9-9 Flink on YARN作业
- 9-10 如何查找需要配置的Flink参数及UI对应关系介绍
- 9-11 Flink Scala Shell的使用
- 9-12 本章作业
- 第10章 Flink监控及调优掌握Flink的常用监控方式以及调优策略。
- 10-1 课程目录
- 10-2 HistoryServer概述及配置
- 10-3 HistoryServer的使用
- 10-4 HistoryServer REST API使用
- 10-5 Monitoring REST API
- 10-6 Flink Metrics
- 10-7 Flink常用优化策略
- 第11章 基于Flink的互联网直播平台日志分析项目实战掌握基于Flink的大数据项目的开发流程、处理流程及架构分析,根据需求进行功能的实现,涉及到基于Flink的实时数据清洗、业务统计、可视化展示等流程。
- 11-1 课程目录
- 11-2 项目背景
- 11-3 项目功能需求描述
- 11-4 项目架构
- 11-5 Mock数据之Kafka生产者代码主流程开发
- 11-6 Mock数据之Kafka生产者代码日志生产开发
- 11-7 使用Flink消费Kafka生产的数据
- 11-8 使用Flink完成实时日志清洗功能开发
- 11-9 数据清洗过程中添加业务逻辑条件的过滤
- 11-10 Flink中Watermark的定义及使用
- 11-11 WindowFunction业务逻辑的实现
- 11-12 ES部署
- 11-13 Kibana部署
- 11-14 统计分析数据写入ES并通过Kibana展示出来
- 11-15 通过Kibana图形化展示ES中存储的结果
- 11-16 第一个功能作业
- 11-17 功能二需求及数据准备
- 11-18 自定义MySQL数据源读取
- 11-19 完成两个流关联的数据清洗功能
- 11-20 本章节总结
- 第12章 Flink版本升级掌握Flink应用程序的版本升级,Flink环境的升级。
- 12-1 课程目录
- 12-2 Flink版本升级概述
- 12-3 Flink部署包升级及工程依赖的Flink版本升级
- 12-4 将升级后的代码运行到升级后的Flink上去
- 第13章 (讨论群内直播内容分享)Flink读取HBaseFlink作为业界最火热的计算引擎,HBase作为业界最流行的NoSQL数据库,本次课将讲解如何使用Flink高效的对HBase数据库进行数据的存取。
- 13-1 本章节概述
- 13-2 HBase部署
- 13-3 Flink读写操作API
- 13-4 Flink读写HBase依赖讲解
- 13-5 Flink写数据到HBase准备工作
- 13-6 Flink写数据到HBase功能开发
- 13-7 Flink写数据到HBase功能测试及小问题修复
- 13-8 Flink读取HBase功能开发
- 13-9 正确的学习姿势分享
- 第14章 Flink Table API&SQL编程在本章中,将带领大家学习Flink中Table API&SQL的核心概念,DataStream/DataSet整合Table API&SQL进行开发,掌握流式SQL处理中的动态表和持续处理,并完成到1.9版本的升级。
- 14-1 课程目录
- 14-2 Flink升级到1.9版本
- 14-3 Table API&SQL概述
- 14-4 思考题
- 14-5 加入Table API&SQL开发所需要的依赖
- 14-6 概念及通用API
- 14-7 DataStream整合SQL实战
- 14-8 DataSet整合SQL实战
- 14-9 DataSet整合Table API实战
- 14-10 流数据上的关系查询
- 14-11 动态表和持续查询
- 14-12 Append only模式
- 14-13 Retract模式
- 14-14 Table API实战
- 第15章 Flink1.10新特性分析及版本升级本章中,将带领大家分析社区最新发布的Flink1.10版本中包含的新特性、改进点,让小伙伴们知晓新版本中所包含的内容,并将我们的项目升级到最新版本,结合代码对比新老版本的API所发生的变化。
- 15-1 课程目录
- 15-2 Flink1.10新特性概述
- 15-3 Flink新特性之内存管理及配置优化
- 15-4 Flink新特性之统一的作业提交逻辑
- 15-5 Flink新特性之原生Kubernetes集成
- 15-6 Flink新特性之Table API&SQL
- 15-7 Flink新特性之PyFlink与其他的重要变化
- 15-8 小彩蛋
- 15-9 Flink升级到1.10版本-
- 第16章 Flink State管理本章中,会带领大家学习在Flink流处理中为什么要引入State?State分类有哪些?如何自定义实现State功能?Flink中的Checkpoint机制有什么作用?重启策略以及StateBackend在生产上如何使用?
- 16-1 课程目录
- 16-2 State引入
- 16-3 State分类
- 16-4 KeyedState案例开发
- 16-5 Checkpoint机制
- 16-6 开启Checkpoint
- 16-7 重启策略
- 16-8 重启策略测试
- 16-9 重启策略结合State进行测试
- 16-10 StateBackend
- 16-11 StateBackend测试
- 16-12 SavePoint
***https://pan.baidu.com/s/1xNgYgt6BNO1nZ6QRKZnSFQ 提取码:n0qk
***