2013-07-16 1 views
0

EMR 작업으로 실행되는 부트 스트랩 스크립트가 있습니다. 나는EMR 작업에서 인수를 전달하여 부트 스트랩 스크립트에 사용하는 방법

나는 C#을 사용하고 서로 다른 환경 내 스크립트에 다음 줄을 사용 경로 = OVA/{EnvironmentName}/스크립트/UniqueUsers 필요에 대한 경로를 구성 할 수 있도록이 스크립트에 매개 변수를 전달해야 스트리밍 EMR 작업을 호출합니다. 직업을 만드는 동안이 논증을 어떻게 통과합니까? 다음과 같이

HadoopJarStepConfig config = new StreamingStep() 
       .WithInputs(input) 
       .WithOutput(output) 
       .WithMapper(configMapperLocation) 
       .WithReducer(configReducerLocation) 
       .ToHadoopJarStepConfig(); 

      string configName = string.Format("Unique_Users_config_{0}", outputFolder); 
      StepConfig uniqueUsersDaily = new StepConfig() 
       .WithName(configName) 
       .WithActionOnFailure("TERMINATE_JOB_FLOW") 
       .WithHadoopJarStep(config); 

      ScriptBootstrapActionConfig bootstrapActionScript = new ScriptBootstrapActionConfig() 
       .WithPath(configBootStrapScriptLocation); 

      BootstrapActionConfig bootstrapAction = new BootstrapActionConfig() 
       .WithName("CustomAction") 
       .WithScriptBootstrapAction(bootstrapActionScript); 

      string jobName = string.Format("Unique_User_DailyJob_{0}", outputFolder); 
      RunJobFlowRequest jobRequest = new RunJobFlowRequest() 
       .WithName(jobName) 
       .WithBootstrapActions(bootstrapAction) 
       .WithSteps(uniqueUsersDaily) 
       .WithLogUri(configHadoopLogLocation) 
       .WithInstances(new JobFlowInstancesConfig() 
            .WithHadoopVersion(configHadoopVersion) 
            .WithInstanceCount(2) 
            .WithKeepJobFlowAliveWhenNoSteps(false) 
            .WithMasterInstanceType(configMasterInstanceType) 
            .WithSlaveInstanceType(configSlaveInstanceType)); 

답변

1

당신은 C#을위한 유사한 방법이 내가 확신 자바에서 당신이 할 수있는, ScriptBootstrapActionConfigwithArgs() 사용할 수 있습니다

ScriptBootstrapActionConfig bootstrapActionScript = new ScriptBootstrapActionConfig() 
       .WithPath(configBootStrapScriptLocation) 
       .WithArgs(List<String> args); 
+0

예, C# 및 그것에 같은 필드가 공장. 감사합니다 Amar – user2330278

+0

당신은 대답 친구를 받아 들여야합니다. – Amar

관련 문제