flink常见概念

  1. Flink Application:一种java应用程序,主要通过main方法来提交一个或多个Flink Job.
  2. Flink Cluster:Flink集群是由至少一个Flink JobManager和一个或多个TaskManager进程组成的分布式系统。
  3. 事件(Event):可以当做流处理或批处理应用程序当中的输入或输出,事件在flink中是一种特殊类型的记录(Record)。
  4. 记录(Record):数据集或数据流的组成元素。Operator和Function接收record作为输入,并将record作为输出发出。
  5. 分区(Partition):按照一定规则,对数据流当中的记录进行拆分,构成的独立子集。
  6. 算子(Operator):逻辑数据流图的节点,对数据流当中的元素执行计算操作,通常由函数(Function)来具体执行计算逻辑。Flink中的Source和Sink是数据输入和数据输出的特殊算子。
  7. 算子链(Operator Chain):由至少两个连续的、且符合一定规则的算子串联在一起构成的操作,链中多个算子在同一分区中,算子之间直接进行数据传递,而无须序列化/反序列化或网络传输。
  8. Flink JobManager:是Flink Cluster的主节点。包含三个不同的组件:Flink Resource Manager、Flink Dispatcher、运行每个Flink Job的Flink JobMaster。
  9. Flink JobMaster:是Flink JobManager运行中的组件之一。负责监督单个作业Task的执行。
  10. Flink TaskManager:是Flink集群上实际进行数据处理的工作进程,并负责执行Task执行,集群上TaskManager之间可以相互进行数据通信。
  11. 托管状态(Managed State):描述了已在框架中注册的应用程序的状态。Flink会自动对托管状态执行持久化和重伸缩等事宜。
  12. 状态后端(State Backend):状态本质上是数据,数据是需要维护的,对于流处理程序,State Backend决定了其state是如何存储在每个TaskManager上。
  13. 任务(Task):代表物理数据流图上的节点,是数据流计算的基本工作单元。有Flink运行时来调度执行,task代表了一个算子或算子链的并行实例。
  14. 子任务(Sub-Task):负责处理数据流分区上的任务,子任务代表的是同一个算子或算子链具有多个并行的任务。
  15. 任务槽(Task Slot):它会独立抢占TaskManager节点上的计算资源,是TaskManager中最小的资源调度单位,并负责运行具体的子任务,任务槽的数量限制一个TaskManager进程中最多可以处理多少个子任务数。
上一篇:Flink WaterMark


下一篇:Flink代码1