Pyspark 在EMR中使用RunJobFlow时,如何提供S3路径作为HadoopJarStep的输入?

Pyspark 在EMR中使用RunJobFlow时,如何提供S3路径作为HadoopJarStep的输入?,pyspark,boto3,emr,amazon-emr,Pyspark,Boto3,Emr,Amazon Emr,我正在尝试运行spark submit,同时使用run\u job\u flow从boto3创建一个新的EMR集群来添加一个步骤。我试图使用Args中的S3文件路径提供来自S3的文件。我是这样做的- 'Args': ['spark-submit --deploy-mode cluster s3://{Bucket}/{path}'] 这是EMR控制台中的stderr输出- Exception in thread "main" java.lang.RuntimeException: java.i

我正在尝试运行
spark submit
,同时使用
run\u job\u flow
从boto3创建一个新的EMR集群来添加一个步骤。我试图使用
Args
中的
S3文件路径提供来自S3的文件。我是这样做的-

'Args': ['spark-submit --deploy-mode cluster s3://{Bucket}/{path}']
这是EMR控制台中的
stderr
输出-

Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Cannot run program "spark-submit --deploy-mode cluster s3://{Bucket}/{path}" (in directory "."): error=2, No such file or directory
    at com.amazonaws.emr.command.runner.ProcessRunner.exec(ProcessRunner.java:139)
    at com.amazonaws.emr.command.runner.CommandRunner.main(CommandRunner.java:13)
    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)
Caused by: java.io.IOException: Cannot run program "spark-submit --deploy-mode cluster s3://{Bucket}/{path}" (in directory "."): error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at com.amazonaws.emr.command.runner.ProcessRunner.exec(ProcessRunner.java:92)
    ... 7 more
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
    at java.lang.ProcessImpl.start(ProcessImpl.java:134)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 8 more
线程“main”中的异常java.lang.RuntimeException:java.io.IOException:无法运行程序“spark submit--部署模式群集s3://{Bucket}/{path}”(在目录“.”中):错误=2,没有这样的文件或目录
位于com.amazonaws.emr.command.runner.ProcessRunner.exec(ProcessRunner.java:139)
位于com.amazonaws.emr.command.runner.CommandRunner.main(CommandRunner.java:13)
在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)
原因:java.io.IOException:无法运行程序“spark submit--部署模式群集s3://{Bucket}/{path}”(在目录“.”中):错误=2,没有这样的文件或目录
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
位于com.amazonaws.emr.command.runner.ProcessRunner.exec(ProcessRunner.java:92)
... 还有7个
原因:java.io.IOException:error=2,没有这样的文件或目录
位于java.lang.UNIXProcess.forkAndExec(本机方法)
位于java.lang.UNIXProcess(UNIXProcess.java:247)
在java.lang.ProcessImpl.start(ProcessImpl.java:134)处
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 8个以上

HadoopJarStepConfig的其他参数值是什么?HadoopJarStepConfig的其他参数值是什么?