FLINK:有状态的流。 stateful computation
flink代码分为三部分:
1、Source----数据源,读取数据
2、Transformation----转换,对数据进行处理,也就是算子
3、Sink----将数据发出去
Transformation:数据转换的各种操作,有Map / FlatMap / Filter / KeyBy / Reduce / Fold /
Window / WindowAll / Union / Window join / Split / Select / Project等,操作很多,可以将数据转换计算成你想要的数据。
state:keyed state 和 operator state。keyed state:一个key是一个state。operator state:一个task是一个state。
offset:偏移量。流从哪里读取数据
checkpoint:检查点。checkpoint定期触发,产生快照,快照中记录了:
- 当前检查点开始时数据源(例如Kafka)中消息的offset。
- 记录了所有有状态的operator当前的状态信息(例如sum中的数值)。
Flink中CheckPoint详细_Felix_阳的博客-CSDN博客 Flink提供了Exactly once特性,是依赖于带有barrier的分布式快照+可部分重发的数据源功能实现的。而分布式快照中,就保存了operator的状态信息。 Flink的失败恢复依赖于检查点机制+可部分重发的数据源。 检查点机制机制:checkpoint定期触发,产生快照,快照中记录了:当前检查点开始时数据源(例如Kafka)中消息的offset。记录了所有...https://blog.csdn.net/aa1215018028/article/details/93159049浅谈Flink的checkpoint - 知乎https://zhuanlan.zhihu.com/p/28272609
keyby:数据按照key进行分组。
flatMap:将嵌套集合转换并平铺成非嵌套集合。
flink学习之七-map、fliter、flatmap - 简书https://www.jianshu.com/p/7bbf14996d39