【问题标题】:submit a job from eclipse to a running cluster on amazon EMR将作业从 eclipse 提交到 amazon EMR 上正在运行的集群
【发布时间】:2015-08-14 17:01:45
【问题描述】:

我想将 Eclipse 中的 java 代码中的作业添加到正在运行的 EMR 集群中,以节省启动时间(创建 ec2、引导程序...)。

我知道如何从 java 代码运行一个新集群,但它在所有作业完成后终止。

RunJobFlowRequest runFlowRequest = new RunJobFlowRequest()
        .withName("Some name")
        .withInstances(instances)
        // .withBootstrapActions(bootstrapActions)
        .withJobFlowRole("EMR_EC2_DefaultRole")
        .withServiceRole("EMR_DefaultRole")
        .withSteps(firstJobStep, secondJobStep, thirdJobStep)
        .withLogUri("s3n://path/to/logs");

// Run the jobs
RunJobFlowResult runJobFlowResult = mapReduce
        .runJobFlow(runFlowRequest);
String jobFlowId = runJobFlowResult.getJobFlowId();

【问题讨论】:

    标签: java eclipse amazon-web-services amazon-emr


    【解决方案1】:

    您必须将KeepJobFlowAliveWhenNoSteps参数设置为TRUE,否则执行完所有步骤后集群将终止。如果设置了该属性,则集群在执行完所有步骤后将继续处于等待状态。

    .withKeepJobFlowAliveWhenNoSteps(true) 添加到现有代码中。

    更多详情请参考doc

    【讨论】:

      猜你喜欢
      • 2020-10-07
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 2019-05-30
      • 2018-11-13
      • 2014-08-01
      • 2020-11-08
      • 1970-01-01
      相关资源
      最近更新 更多