繁体   English   中英

EMR 中的问题添加了提交 Spark 作业的步骤

[英]Issues in EMR add step to submit a spark job

我尝试使用以下命令在 EMR 上提交带有 2 个依赖 jar 包 A.jar 和 B.jar 的 spark 作业

aws emr add-steps --cluster-id j-1WM5F79YY6EIN --steps Type=Spark,Name="test", \
Args=[--master,yarn,--deploy-mode,cluster,--class,myClassName,--jars, \
"s3://myBucketName/project.jar,s3://myBucketName/A.jar,s3://myBucketName/B.jar", \
s3://myBucketName/project.jar,param1,value1,param2,value2] --region us-west-2

这里有两个问题:

  1. --jars 参数只能接受前两个 jar package。 在上面的命令中,B.jar 中的 class 抛出 ClassNotFound 异常。 如果我使用 --jars 提交,"s3://myBucketName/project.jar,s3://myBucketName/B.jar,s3://myBucketName/A.jar"。 A.jar中的class抛出ClassNotFound异常

  2. 我必须将 project.jar 作为 --jars 参数中的第一个 jar,我想我需要在稍后的命令中再次提供它作为 app jar。 否则找不到main class。

不太熟悉 EMR,因此非常感谢对我的问题的任何帮助。

我不确定这是你的问题,但根据发布指南,你应该避免 arguments 列表中的空格:

当您使用 AWS CLI 时,Args 列表中的项目应该以逗号分隔,列表元素之间没有空格。 例如,Args=[example-command,example-option,"example option value"] 而不是 Args=[example-command, example-option, "example option value"]。

看起来你的例子中有空格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM