必须触发Flink程序的执行,例如使用execute()
。否则Flink只会创建一个新的执行计划,对吧?我的问题是:在不触发执行的情况下处理懒惰操作时,Flink的哪些组件被激活?
根据文献,有一个优化器负责构建数据流图。是否涉及更多流程?
有没有一种方法可以找到优化器进程的id来监控它?
Flink DataSet程序在触发执行时进行优化。以前,程序仅通过将运算符和数据汇附加到其他运算符和数据源来构造。
在程序提交到JobManager进程之前,优化发生在客户端进程中。这意味着,没有可以监控的专用优化器进程。
程序翻译分多个步骤完成:
- 使用数据集API的程序构造
- 翻译成通用API
- 程序优化
- JobGraph生成
JobGraph是由JobManager计划执行的数据流表示。