Flink应用开发常用概念
- DataStream
数据流,是指Flink系统处理的最小数据单元。该数据单元最初由外部系统导入,可以通过socket、Kafka和文件等形式导入,在Flink系统处理后,通过Socket、Kafka和文件等输出到外部系统,这是Flink的核心概念。
- Data Transformation
数据处理单元,会将一或多个DataStream转换成一个新的DataStream。
具体可以细分如下几类:
- 一对一的转换:如Map。
- 一对0、1或多个的转换:如FlatMap。
- 一对0或1的转换,如Filter。
- 多对1转换,如Union。
- 多个聚合的转换,如window、keyby。
- Topology
一个Topology代表用户的一个执行任务。一个Topology由输入(如kafka soruce)、输出(如kafka sink)和多个Data Transformation组成。
- CheckPoint
CheckPoint是Flink数据处理高可靠、最重要的机制。该机制可以保证应用在运行过程中出现失败时,应用的所有状态能够从某一个检查点恢复,保证数据仅被处理一次(Exactly Once)。
- SavePoint
Savepoint是指允许用户在持久化存储中保存某个checkpoint,以便用户可以暂停自己的任务进行升级。升级完后将任务状态设置为savepoint存储的状态开始恢复运行,保证数据处理的延续性。