除了使用他们的仪表板之外,如何提交 flink 作业?



我已经编写了 flink 作业来使用数据集和数据流 api。 我已经从相同的main((方法启动了这两个程序但是现在当我提交作业以闪烁仪表板时。只有数据集 API 程序正在运行,仪表板显示作业已完成并且流未触发,Flink 仪表板也没有显示任何有关数据流执行的信息。但是当我从 eclipse 运行时,数据集和数据流 api 程序都在运行。有没有其他方法可以将作业提交给 flink 作业管理器来完成这两项工作?

除了使用Web 仪表板,您还可以使用命令行界面和 REST API 将作业提交到 Flink。

但是,听起来您可能正在尝试使用同时使用 DataSet 和 DataStream API 的单个 Flink 作业。这是行不通的。

解决方案是将两个程序拆分为单独的类,例如MyStreamingProgramMyBatchProgram,各有main方法。 然后,将每个程序分别提交到 Flink,从而创建两个独立的作业。

您提到您观察到行为存在一些变化,具体取决于作业的提交方式。 在幕后,Flink 使用各种策略来执行main方法来获取程序计划。 不支持在单次执行main中生成多个计划 (AFAIK(。

最新更新