执行计划

根据集群中数据大小、机器数目等多种参数,Flink的优化器会自动的为程序选择一种执行策略。在很多场景下, 这将有利于知晓Flink如何执行你的程序。

计划可视化工具

Flink自带了执行计划的可视化工具。visualizer工具的HTML文档位于tools/planVisualizer.html。 它通过一个JSON文件来表示job的执行计划的,并将执行计划可视化,同时带有执行策略的全部注解。

如下的代码展示了如何打印程序执行计划的JSON:

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

...

System.out.println(env.getExecutionPlan());
val env = ExecutionEnvironment.getExecutionEnvironment

...

println(env.getExecutionPlan())

为了可视化执行计划,需要做如下步骤:

  1. 通过浏览器打开 planVisualizer.html ,
  2. 将JSON内容粘贴到文本,
  3. 点击 绘制按钮.

完成以上步骤后,一个详细的执行计划将会被直观的展示。

A flink job execution graph.

Web接口

Flink 提供了一个web接口用于提交和执行jobs。接口是JobManager监控web接口的一部分,默认运行在8081端口。 通过这个接口提交的job需要在flink-conf.yaml文件中设置参数jobmanager.web.submit.enable: true

你可以在job执行前指定程序的参数。可视化的执行计划将使你在job执行前就知晓具体的执行计划。

Back to top