Flink:惰性操作处理

Flink: lazy operations processing

必须触发Flinks程序的执行,例如execute()。不然Flink只是新建了一个执行计划,对吧?我的问题是:在处理惰性操作而不触发执行时,Flink 的哪些组件被激活?

根据 dokumentation 有一个优化器负责构建数据流图。是否涉及更多流程?

有没有办法找出优化程序进程的 ID 以便对其进行监控?

Flink DataSet 程序在触发执行时优化。之前,程序只是通过在其他算子和数据源上追加算子和数据汇来构造的。

在程序提交到 JobManager 进程之前,优化发生在客户端进程中。这意味着,没有可以监视的专用优化器进程。

程序翻译分多个步骤完成:

  1. 使用数据集构建程序API
  2. 翻译成通用API
  3. 程序优化
  4. JobGraph 生成

JobGraph 是由 JobManager 调度执行的数据流表示。