繁体   English   中英

通过java代码spark提交

[英]spark-submit through java code

我正在尝试通过 Java 代码进行 spark-submit。 我指的是以下示例。

https://github.com/mahmoudparsian/data-algorithms-book/blob/master/misc/how-to-submit-spark-job-to-yarn-from-java-code.md

但我越来越

The constructor ClientArguments(String[], SparkConf) is undefined

这是我的代码。

import org.apache.spark.deploy.yarn.Client;
import org.apache.spark.deploy.yarn.ClientArguments;
import org.apache.hadoop.conf.Configuration;
import org.apache.spark.SparkConf;

public class SparkSubmitJava {
    public static void main(String[] arguments) throws Exception {
        String[] args = new String[] {"--name", "myname", "--jar", "/home/cloudera/Desktop/ScalaTest.jar", "--class", "ScalaTest.ScalaTest.ScalaTest", "--arg","3", "--arg", "yarn-cluster"};

        Configuration config = new Configuration();
        System.setProperty("SPARK_YARN_MODE", "true");
        SparkConf sparkConf = new SparkConf();
        ClientArguments cArgs = new ClientArguments(args, sparkConf);  // getting constructor error
        Client client = new Client(cArgs, config, sparkConf); // getting constructor error
        client.run();
    }
}

我的 pom.xml 依赖项部分:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>1.3.0</version>
</dependency>

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-yarn_2.9.3</artifactId>
    <version>0.8.1-incubating</version>
</dependency>

蚂蚁的帮助将不胜感激。

考虑到您从 pom.xml 共享的内容,这是您的问题:您使用的是非常旧版本的 spark-yarn 库0.8.1-incubating ,您需要将其替换为 spark-core 的相应版本。 由于您使用的是 Spark 1.3,因此您将需要以下依赖项,而不是您正在使用的依赖项:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-yarn_2.10</artifactId>
    <version>1.3.0</version>
</dependency>

其次,您正在使用不兼容的库版本。 注意_2.10_2.9.3非常重要。 它们允许您使用每个依赖项的特定 Scala 编译版本,因此您应该小心。

暂无
暂无

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

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