AWS EMR Spark: Error: Cannot load main class from JAR
AWS EMR Spark: Error: Cannot load main class from JAR
我正在尝试使用 AWS 控制台将 Spark 作业提交到 AWS EMR 集群。但它失败了:
Cannot load main class from JAR
。当我在 AWS EMR 控制台-> 添加步骤的 Arguments
选项中将 main class 指定为 --class
时,作业 运行s 成功。
在本地机器上,当没有指定 main class 时,作业似乎工作得很好,如下所示:
./spark-submit /home/astro/spark-programs/SpotEMR/MyJob.jar
我已经使用 运行 配置将 main class 设置为 jar。避免将 main class 作为 --class
传递的主要原因是,我必须使用 EMRAcivity 在 AWS Datapipeline 中 运行 这项工作。在 AWS Datapipeline 中,目前无法为正在提交的作业指定主 class。
任何帮助将不胜感激。
实际上,您可以通过 EMRActivity 和 AWS Datapipeline 传递作业的主要class。
见
https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-emractivity.html 使用 step
启动 EMRActivity
。
以及
https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-submit-step.html 使用 EMR step
和主要 class.
提交 Spark 作业
该步骤如下所示:
command-runner.jar,spark-submit,--class,org.apache.spark.examples.SparkPi
我正在尝试使用 AWS 控制台将 Spark 作业提交到 AWS EMR 集群。但它失败了:
Cannot load main class from JAR
。当我在 AWS EMR 控制台-> 添加步骤的 Arguments
选项中将 main class 指定为 --class
时,作业 运行s 成功。
在本地机器上,当没有指定 main class 时,作业似乎工作得很好,如下所示:
./spark-submit /home/astro/spark-programs/SpotEMR/MyJob.jar
我已经使用 运行 配置将 main class 设置为 jar。避免将 main class 作为 --class
传递的主要原因是,我必须使用 EMRAcivity 在 AWS Datapipeline 中 运行 这项工作。在 AWS Datapipeline 中,目前无法为正在提交的作业指定主 class。
任何帮助将不胜感激。
实际上,您可以通过 EMRActivity 和 AWS Datapipeline 传递作业的主要class。
见
https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-emractivity.html 使用 step
启动 EMRActivity
。
以及
https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-submit-step.html 使用 EMR step
和主要 class.
该步骤如下所示:
command-runner.jar,spark-submit,--class,org.apache.spark.examples.SparkPi