apache-spark - AWS EMR Spark : Error: Cannot load main class from JAR

标签 apache-spark amazon-emr amazon-data-pipeline

我正在尝试使用 AWS 控制台向 AWS EMR 集群提交 Spark 作业。但它失败了:
Cannot load main class from JAR .当我将主类指定为 --class 时,作业运行成功在 Arguments AWS EMR 控制台中的选项-> 添加步骤。

在本地机器上,当没有指定如下主类时,这项工作似乎工作得很好:

 ./spark-submit /home/astro/spark-programs/SpotEMR/MyJob.jar

我已使用运行配置将主类设置为 jar。避免将主类传递为 --class 的主要原因是,我必须使用 EMRAcivity 在 AWS Datapipeline 中运行此作业。在 AWS Datapipeline 中,目前无法为正在提交的作业指定主类。

任何帮助将不胜感激。

最佳答案

实际上,您可以使用 EMRActivity 和 AWS Datapipeline 传递作业的主类。


https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-emractivity.html推出 EMRActivity使用 step .


https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-submit-step.html使用 EMR 提交 Spark 作业 step与一个主类。

该步骤如下所示:

command-runner.jar,spark-submit,--class,org.apache.spark.examples.SparkPi

关于apache-spark - AWS EMR Spark : Error: Cannot load main class from JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48407769/

相关文章:

java - Datapipeline 中的 AWS Athena JDBC Jar 使用引发 Java 版本错误

scala - spark 文本文件加载文件而不是行

java - Apache Spark MLlib : OLS regression in Java

scala - YARN 因超出内存限制而杀死容器

amazon-data-pipeline - 如何在现有 EMR 集群上运行 EmrActivity?

amazon-rds - 如何使用AWS数据管道解决“DriverClass not found for database:mariadb”?

apache-spark - 无法使用 pyspark 从 json 读取数据

scala - DMLC 在 Spark-1.6.1 上的 XGBoost-4j

apache-spark - Spark : writing data to place that is being read from without loosing data

amazon-emr - 如何在 EKS 上为 EMR 进行日志记录(即 emr 容器)