Java &引用;无效选项“;向EMR引导操作传递参数时出错
我正在使用JavaSDK以编程方式配置一个EMR集群,并试图将参数传递给setupImpala脚本。我的代码如下所示:Java &引用;无效选项“;向EMR引导操作传递参数时出错,java,ruby,amazon-web-services,elastic-map-reduce,Java,Ruby,Amazon Web Services,Elastic Map Reduce,我正在使用JavaSDK以编程方式配置一个EMR集群,并试图将参数传递给setupImpala脚本。我的代码如下所示: ... List<BootstrapActionConfig> bootstrapActions = new ArrayList<BootstrapActionConfig>(); // --base-path, s3://elasticmapreduce, --impala-version, 1.2.1 BootstrapAc
...
List<BootstrapActionConfig> bootstrapActions = new ArrayList<BootstrapActionConfig>();
// --base-path, s3://elasticmapreduce, --impala-version, 1.2.1
BootstrapActionConfig bsInstallImpala = new BootstrapActionConfig();
bsInstallImpala.setName( "Install Impala" );
ScriptBootstrapActionConfig scriptActionInstallImpala = new ScriptBootstrapActionConfig();
scriptActionInstallImpala.setPath("s3://elasticmapreduce/libs/impala/setup-impala");
List<String> impalaArgs = new ArrayList<String>();
impalaArgs.add( "--base-path, s3://elasticmapreduce" );
impalaArgs.add( "--impala-version, 1.2.1" );
scriptActionInstallImpala.setArgs(impalaArgs);
bsInstallImpala.setScriptBootstrapAction(scriptActionInstallImpala);
bootstrapActions.add( bsInstallImpala );
...
RunJobFlowRequest request = new RunJobFlowRequest()
.withName("OneButton Test")
.withSteps(enabledebugging, installHive, installPig)
.withLogUri("s3://somelogs/")
.withAmiVersion("3.0.4")
.withBootstrapActions(bootstrapActions)
.withInstances(new JobFlowInstancesConfig()
.withInstanceGroups(instanceGroups)
.withEc2KeyName("redacted")
.withHadoopVersion("2.2.0")
.withKeepJobFlowAliveWhenNoSteps(true)
.withTerminationProtected(true) );
这看起来像是引导操作的参数语法有问题,但我尝试了每一种似乎合理的排列,我总是得到这个错误(或近似值)。但是对于上面列出的配置,当我在web控制台中查看集群详细信息时,参数看起来与我使用web控制台配置的集群相同
有什么想法吗?事实证明,正确的格式是在参数的字符串中使用=符号。像这样:
impalaArgs.add( "--base-path=s3://elasticmapreduce" );
impalaArgs.add( "--impala-version=1.2.1" );
这是相当违反直觉的,因为您在web控制台中看到的参数字符串现在看起来也不一样了,而您希望有一种——可能还有一种——“正确的方法”。但是显然,使用web控制台创建集群和使用API创建集群之间有一些细微的区别
impalaArgs.add( "--base-path=s3://elasticmapreduce" );
impalaArgs.add( "--impala-version=1.2.1" );