0
AWS SWF 워크 플로를 작성했으며 첫 번째 작업은 클러스터를 부팅하고 mapreduce 프로그램을 실행하는 것입니다. 이 동작은 첫 번째 항아리의 출력에 따라 실행될 2 개의 다른 mapreduce 항아리와 같습니다. 나는 이것을 사용하여 항아리를 추가했습니다.HadoopJarStepConfig를 사용하여 여러 작업을 추가하는 방법이 있습니까? jarConfig = new HadoopJarStepConfig (HADOOP_JAR);
HadoopJarStepConfig jarConfig = new HadoopJarStepConfig(S3N_HADOOP_JAR);
jarConfig.setArgs(ARGS_AS_LIST);
HadoopJarStepConfig jarConfig1 = new HadoopJarStepConfig(S3N_HADOOP_JAR);
jarConfig1.setArgs(ARGS_AS_LIST1);
try {
StepConfig enableDebugging = new StepConfig()
.withName("Enable debugging")
.withActionOnFailure("TERMINATE_JOB_FLOW")
.withHadoopJarStep(new StepFactory().newEnableDebuggingStep());
StepConfig runJar = new StepConfig(HADOOP_JAR, jarConfig);
StepConfig runJar1 = new StepConfig(HADOOP_JAR, jarConfig1);
request.setSteps(Arrays.asList(new StepConfig[]{enableDebugging, runJar, runJar1}));
RunJobFlowResult result = emr.runJobFlow(request);
여러 개의 병을 추가하는 올바른 방법입니까? 감사.
나는이 단계를 사용하여 EMR에서 AddJob 단계의 일부로 다른 jar를 추가하도록 요청했습니다. 이것은 완벽하게 작동합니다 ... 또한 당신이 제안한 것을 확인합니다. StepConfig runJar1 = 새 StepConfig (HADOOP_JAR, jarConfig1); \t AddJobFlowStepsRequest request2 = new AddJobFlowStepsRequest (jobFlowID) .withSteps (runJar1); –