Flink:懒惰的操作处理

时间:2015-12-22 17:20:04

标签: apache-flink

必须触发Flinks程序的执行,例如与 class Plan { public string Linie { get; set; } public string Kurs { get; set; } public string Abfahrt { get; set; } public string Von { get; set; } public string Nach { get; set; } public string Ankunft { get; set; } public string Pause { get; set; } public Plan(string Linie, string Kurs, string Abfahrt, string Von, string Nach, string Ankunft, string Pause) { this.Linie = Linie; this.Kurs = Kurs; this.Abfahrt = Abfahrt; this.Von = Von; this.Nach = Nach; this.Ankunft = Ankunft; this.Pause = Pause; } private System.Collections.ObjectModel.ObservableCollection<Plan> _items = new System.Collections.ObjectModel.ObservableCollection<Plan>(); Plan.ItemsSource = _items; 。否则Flink只会创建一个新的执行计划,对吧?我的问题是:在处理延迟操作而不触发执行时,Flink的哪些组件被激活?

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

有没有办法找出优化器进程的id以便监控它?

1 个答案:

答案 0 :(得分:3)

触发执行时优化Flink DataSet程序。以前,只有通过将运算符和数据接收器附加到其他运算符和数据源来构建程序。

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

程序翻译分多步完成:

  1. 使用DataSet API进行程序构建
  2. 转换为通用API
  3. 计划优化
  4. JobGraph generation
  5. JobGraph是由JobManager计划执行的数据流表示。