更新时间:2024-12-10 GMT+08:00

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存储的状态开始恢复运行,保证数据处理的延续性。