【问题标题】:java apache spark mllibjava apache spark mllib
【发布时间】:2018-02-17 08:13:17
【问题描述】:

我已经开始学习 java 中的 mllib apache spark。我正在关注官方网站上的 spark 2.1.1 文档。我的 ubuntu 14.04 lts 中安装了 spark-2.1.1-bin-hadoop2.7。我正在尝试运行此代码。

public class JavaLogisticRegressionWithElasticNetExample {
public static void main(String[] args) {
    SparkSession spark = SparkSession.builder().appName("JavaLogisticRegressionWithElasticNetExample") .master("local[*]").getOrCreate();
  // $example on$
    // Load training data
    Dataset<Row> training = spark.read().format("libsvm")
            .load("data/mllib/sample_libsvm_data.txt");

    LogisticRegression lr = new LogisticRegression()
            .setMaxIter(10)
            .setRegParam(0.3)
            .setElasticNetParam(0.8);

    // Fit the model
    LogisticRegressionModel lrModel = lr.fit(training);

    // Print the coefficients and intercept for logistic regression
    System.out.println("Coefficients: "
            + lrModel.coefficients() + " Intercept: " + lrModel.intercept());

    // We can also use the multinomial family for binary classification
    LogisticRegression mlr = new LogisticRegression()
            .setMaxIter(10)
            .setRegParam(0.3)
            .setElasticNetParam(0.8)
            .setFamily("multinomial");

    // Fit the model
    LogisticRegressionModel mlrModel = mlr.fit(training);

    // Print the coefficients and intercepts for logistic regression with multinomial family
    System.out.println("Multinomial coefficients: " + lrModel.coefficientMatrix()
            + "\nMultinomial intercepts: " + mlrModel.interceptVector());
    // $example off$

    spark.stop();
}

}

我在我的系统中安装了 spark-2.1.1-bin-hadoop2.7。 我有 pom.xml 文件是

<dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.11</artifactId>
        <version>2.1.1</version>
        <scope>provided</scope>
    </dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-mllib_2.10</artifactId>
    <version>2.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-mllib-local_2.10 -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-mllib-local_2.10</artifactId>
    <version>2.1.1</version>
</dependency>

但我遇到了这个异常

17/09/08 16:42:19 信息 SparkEnv:注册 OutputCommitCoordinator 线程“main”中的异常 java.lang.NoSuchMethodError: scala.Predef$.$scope()Lscala/xml/TopScope$; 在 org.apache.spark.ui.jobs.AllJobsPage.(AllJobsPage.scala:39) 在 org.apache.spark.ui.jobs.JobsTab.(JobsTab.scala:38) 在 org.apache.spark.ui.SparkUI.initialize(SparkUI.scala:65) 在 org.apache.spark.ui.SparkUI.(SparkUI.scala:82) 在 org.apache.spark.ui.SparkUI$.create(SparkUI.scala:220) 在 org.apache.spark.ui.SparkUI$.createLiveUI(SparkUI.scala:162) 在 org.apache.spark.SparkContext.(SparkContext.scala:452) 在 org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2320) 在 org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:868) 在 org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:860) 在 scala.Option.getOrElse(Option.scala:121) 在 org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:860) 在 JavaLogisticRegressionWithElasticNetExample.main(JavaLogisticRegressionWithElasticNetExample.java:12) 17/09/08 16:42:19 信息 DiskBlockManager:已调用关闭挂钩 17/09/08 16:42:19 信息 ShutdownHookManager:已调用关闭挂钩 17/09/08 16:42:19 INFO ShutdownHookManager:删除目录 /tmp/spark-8460a189-3039-47ec-8d75-9e0ca8b4ee5d 17/09/08 16:42:19 INFO ShutdownHookManager:删除目录 /tmp/spark-8460a189-3039-47ec-8d75-9e0ca8b4ee5d/userFiles-9b6994eb-1376-47a3-929e-e415e1fdb0c0

【问题讨论】:

  • 那么,问题/问题是什么?
  • 我收到异常 17/09/08 16:42:19 INFO SparkEnv:在线程“main”java.lang.NoSuchMethodError 中注册 OutputCommitCoordinator 异常:scala.Predef$.$scope()Lscala/ xml/TopScope$;在 org.apache.spark.ui.jobs.AllJobsPage.(AllJobsPage.scala:39)

标签: java apache maven


【解决方案1】:

当您在同一程序中使用不同版本的 scala 时,会发生这种错误。实际上,在您的依赖项中(在您的pom.xml 中),您有一些带有 scala 2.10 的库和其他带有 scala 2.11 的库。

使用 spark-sql_2.10 而不是 spark-sql_2.11 就可以了(或者将 mllib 版本更改为 2.11)。

【讨论】:

    猜你喜欢
    • 2016-03-07
    • 2015-02-07
    • 2017-01-24
    • 2014-09-05
    • 2016-01-02
    • 1970-01-01
    • 2015-03-31
    • 2015-06-19
    • 2017-11-19
    相关资源
    最近更新 更多