【问题标题】:Apache Flink (How to uniquely tag Jobs)Apache Flink(如何唯一标记作业)
【发布时间】:2016-09-23 11:09:08
【问题描述】:

是否可以使用唯一名称标记作业,以便我可以在以后停止它们?我真的不想 grep 和持久化作业 ID。

简而言之,我想在部署过程中停止一项作业并部署新作业。

【问题讨论】:

    标签: apache-flink flink-streaming


    【解决方案1】:

    您可以在 execute(name: String) 调用中启动作业时命名作业,例如,

    val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment()
    
    val result: DataStream[] = ???       // your job logic
    result.addSink(new YourSinkFunction) // add a sink
    
    env.execute("Name of your job")      // execute and assign a name
    

    REST API of the JobManager 提供工作详细信息列表,其中包括工作名称及其 JobId。

    【讨论】:

    • 我可以用这个名字停止工作吗?
    • 据我所知,没有。为此,您需要 JobId。
    • 是否有跟踪作业和更新现有作业的最佳实践?目前,为了支持对现有工作的更新,我必须将 jobIds 保存在某个地方以供参考。
    • 您可以在需要时使用 REST 接口查找 JobId。
    • /joboverview/running 给出所有正在运行的作业的列表。您可以过滤该列表以查找 name = yourName 以找到您正在寻找的工作。它不是特别舒服,但应该像这样可行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多