Python jar文件的参数不正确-使用Boto3启动EMR集群

Python jar文件的参数不正确-使用Boto3启动EMR集群,python,boto3,amazon-emr,boto,Python,Boto3,Amazon Emr,Boto,我正在使用库Boto3编写Python代码,以启动EMR集群。在步骤部分中,我列出了我的jar文件。此jar文件是一个Scala脚本,其参数如下: -l 'some_vaue' - s 'some_value' 如何在步骤的Args值中正确输入这些类型的参数? 以下是我所拥有的: jar_file = 'file.jar' ARG1 = 'some_value' ARG2 = 'some_value' steps = [ { 'Name':

我正在使用库Boto3编写Python代码,以启动EMR集群。在
步骤
部分中,我列出了我的jar文件。此jar文件是一个Scala脚本,其参数如下:

-l 'some_vaue' - s 'some_value' 
如何在
步骤的
Args
值中正确输入这些类型的参数? 以下是我所拥有的:

jar_file = 'file.jar'
ARG1 = 'some_value'
ARG2 = 'some_value' 
steps = [
            {
            'Name': 'Running jar file step',   
                    'ActionOnFailure': 'CONTINUE',
                    'HadoopJarStep': {
                        'Jar': 's3://mybucket/{0}'.format(jar_file),
                        'Args': [
                            '-l {0}'.format(ARG1), '-s {1}'.format(ARG2)
                        ]
                    }
                }
        ] 
我的集群在jar步骤中出现错误时终止,我得到以下错误:

Error: Unknown option -l some_value -s some_value
Usage: spark-zoning [options]

  -l, --id1 <value> 
  -s, --id2 <value>
Exception in thread "main" scala.MatchError: None (of class scala.None$)
    at spark_pkg.SparkMain$.main(SparkMain.scala:208)
    at spark_pkg.SparkMain.main(SparkMain.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
错误:未知选项-l某些值-s某些值
用法:spark分区[选项]
-l、 --id1
-s、 --id2
线程“main”scala.MatchError中出现异常:无(属于类scala.None$)
在spark_pkg.SparkMain$.main(SparkMain.scala:208)
在spark_pkg.SparkMain.main(SparkMain.scala)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:498)
位于org.apache.hadoop.util.RunJar.run(RunJar.java:221)
位于org.apache.hadoop.util.RunJar.main(RunJar.java:136)

我如何才能正确地提供参数?

作者@jordanm回答正确:
我把参数改成这样:
'Args':['-l',ARG1'-s',ARG2]
'Args':['-l',ARG1'-s',ARG2]
@jordanm谢谢你-似乎已经奏效了!你愿意写下来作为回答吗?