此链接(Re-use Amazon Elastic MapReduce instance)提供了一种重用此类elastic-mapreduce --jobflow job-id \
--jar s3n://some-path/x.jar \
--step-name "New step name" \
--args ...
但是如何在Driver程序中执行相同操作,即使用aws java sdk来运行另一个作业。我认为在JobFlowInstancesConfig类中必须有一些方法来设置id但我找不到任何东西。 http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/model/JobFlowInstancesConfig.html
感谢任何帮助。
答案 0 :(得分:0)
实际上我没有回答因为我最初得到的失误。 我做了类似的事情(我没有在这里添加整个代码,但是后面的链接可能有帮助)
static AddJobFlowStepsRequest AJFSrequest;
List <StepConfig>steps = new LinkedList();
AJFSrequest = new AddJobFlowStepsRequest();
AJFSrequest.setJobFlowId("j-VKJMSIU34SFQ");
HadoopJarStepConfig jarConfig = new HadoopJarStepConfig(S3N_HADOOP_JAR);
jarConfig.setArgs(ARGS_AS_LIST);
StepConfig stepConfig =new StepConfig(S3N_HADOOP_JAR.substring(S3N_HADOOP_JAR.indexOf('/') + 1),jarConfig);
String lastState = "";
steps.add(stepConfig);
AJFSrequest.setSteps(steps);
emr.addJobFlowSteps(AJFSrequest);
http://chathurah.blogspot.in/2010/03/programmatically-launch-elastic-map.html