flink的核心操作有3部分: source transformation sink
window 有2类窗口 时间窗口与数据窗口
time有3类 event time Ingestion time 和 Processing Time
flink程序的常规步骤:
* Obtain an execution environment,
* Load/create the initial data,
* Specify transformations on this data,
* Specify where to put the results of your computations,
* Trigger the program execution
- flink集群部署
standlone yarn
- flink处理反压
- flink生成逻辑计划图: [http://flink.apache.org/visualizer/]
- flink有4中执行图
streamGraph:是根据用户通过 Stream API 编写的代码生成的最初的图。用来表示程序的拓扑结构。
JobGraph: streamGraph优化后的图形
ExecutionGraph: JobManager 根据 JobGraph 生成ExecutionGraph。ExecutionGraph是JobGraph的并行化版本,是调度层最核心的数据结构
物理执行图:
默认情况下,state保存在TastManager的内存中而checkpoint保存在jobmanager的内存中,
flink的保存点有2点
所有数据源的位置
所有并行操作者的状态
如果你想要从一个保存点开始启动一个修改过的程序,有几件事是需要考虑的
改变一个用户定义的函数的逻辑,比如 MapFunction
改变一个程序的架构,也就是增加或减少操作者等
网友评论