基础
安装部署
local 单机模式(学习用)
standalone 独立集群模式(企业几乎不用)
flink on yarn模式
per-job cluster模式(企业主流)
session cluster模式
命令
其他
api 快速入门
flink1.12.x DataStream实现wordcount- 连接socket(TCP)服务器-lambda写法
flink1.12.x DataStream实现wordcount- 连接socket(TCP)服务器-lambda简化写法
提交到 flink 服务器运行
架构和概念
flink1.12.x client、JobManager、TaskManager角色分工和执行流程(Dataflow)
flink1.12.x Streaming Dataflow并行原理(Partition、Subtask、Parallelism)
flink1.12.x Streaming Dataflow:source、Transformation、sink和对应程序代码
api 详解
source数据源
数据类型
Transformation
注意1:flink1.12.x 算子运算时,不要抛出异常,否则可能会导致其他算子无法继续运行,抛出Interrupted after 0 tries while maxAttempts=16异常
注意2:flink1.12.x 算子有成员变量时,该成员变量必须实现Serializable序列话接口
重分区算子
sink
flink1.12.x 四个重要概念:Checkpoint、State、Time、Window
Window 窗口
窗口 api
flink1.12.x window窗口api使用说明:assigner、function、triger、evictor
flink1.12.x timeWindow()、countWindow()和timeWindowAll()、countWindowAll()、window()、windowAll()区别
数量窗口
会话窗口
Time 时间
处理时间窗口
flink1.12.x window api使用-处理时间的滚动窗口(TumblingProcessingTimeWindows)
flink1.12.x window api使用-处理时间的滑动窗口(SlidingProcessingTimeWindows)
窗口函数(window function)
flink1.12.x 窗口函数(window function)-全量窗口函数 ProcessWindowFunction
flink1.12.x 窗口函数(window function)-增量 AggregateFunction 结合 全量 ProcessWindowFunction
Event Time 事件时间 和 WaterMark 水位线
flink1.12.x 创建 watermark 步骤
flink1.12.x 水位线生成时机、分配器(Periodic Watermarks周期性分配水位线、Punctuated Watermarks定点水位线)
收集迟到丢弃的数据
Process Function
flink1.12.x Process Function-ProcessFunction函数,理解watermark计算方式
flink1.12.x 窗口函数(window function)-增量 AggregateFunction 结合 全量 ProcessWindowFunction(watermark案例)
State 状态
flink1.12.x State状态分类(Managed State、Raw State、Keyed State、Operator State)
flink1.12.x State状态数据类型:ValueState、ListState、ReducingState、AggregatingState、MapState
综合案例
flink1.12.x Process Function-KeyedProcessFunction函数-订单超时取消案例(定时器)
flink1.12.x Process Function-KeyedProcessFunction函数-订单超时取消案例(处理时间)
Checkpoint 检查点
savepoint
sink
多流操作
合并流
拆分流
join
table api 和 SQL
source:DataStream 转换成 Table
flink1.12.x SQL:创建工程,从socket读取数据,实现查询(DataStreamSource转View)
flink1.12.x Table API 和 SQL:创建工程,读取csv文件,创建表,实现查询(connector连接器)
查询结果 Table 转换成 DataStream
sink
kafka
窗口 和 时间
flink1.12.x SQL:事件时间和watermark,时间类型(TIMESTAMP和TIMESTAMP_LTZ)
flink1.12.x SQL:滚动窗口-显示窗口时间函数:TUMBLE_START、TUMBLE_END、TUMBLE_ROWTIME、TUMBLE_PROCTIME
udf用户自定义函数
table api
其他
CEP
打包运行
flink1.12.x Table API 和 SQL:kafka读写数据,打包、上传到flink集群、yarn方式执行
flink1.12.x Table API 和 SQL:kafka读写数据,上传到flink集群,flink run执行jar(独立集群模式)
flink1.12.x Table API 和 SQL:读取HDFS文件,将结果写入到HDFS,上传到flink集群,flink run执行jar(独立集群模式)
flink1.12.x Table API 和 SQL:从kafka读取数据,写入到elasticsearch,上传flink集群,flink run执行jar(独立集群模式)
解析命令行参数、读取外部配置文件
其他
常见错误
maven-resources-plugin
2.6 is missing, no dependency information availableflink1.12.x:Could not complete the operation. Number of retries has been exhausted.