windows类型
count Windows
time window:
tumbling window (翻滚窗口,无重叠)
sliding window(滑动窗口,有重叠)
session window (类型与web编程里的session,以不活动间隙作为分隔)
各种Time
event time (事件产生事件)
ingestion time(摄取事件,event进入flink的时间)
processing time (当前处理的时间)
stateful operations(状态操作)
state 指一个具体的task或者operator的状态,其中 Operator 分为operator state和keyed state;
operator state 跟一个特定的operator的一个并发实例绑定,整个operator只对应一个state;
keyed state 基于keyed stream上的状态,这个状态跟特定的key绑定,对keyedstream流上的每一个key,可能都对应一个state。
原始状态和托管状态
operator state:指map、flatmap等
keyed state:重新分组分区之后的状态
checkpoint基本原理:
用于内部失败的自动恢复,保证正好一次的语义(exactly-once)
通过往source注入barrier,barrier作为checkpointde 标志
savepoint 手动触发,一种特殊的checkpoint
flink源码编译:
1、 mvn clean install -Dmaven.test.skip=true
2、跳过测试、qa插件和javadoc以加速构建,默认会吧hadoop2 的支持编译:mvn clean install -Dmaven.test.skip=true -Dfast
3、指定haodop版本:
mvn clean install -Dmaven.test.skip=true -Dhadoop.version=2.6.1
4、基于hadoop cdh发行版构建的flink
mvn clean install -Dmaven.test.skip=true -Pvendor-repos -Dhadoop.version=2.6.1-cdh5.0.0