NoClassDefFoundError: scala / класс $ Product в приложении spark - PullRequest
1 голос
/ 08 июня 2019

Я создаю приложение Spark с помощью bash-скрипта, и у меня есть только зависимости spark-sql и core в файле build.sbt.Поэтому каждый раз, когда я вызываю некоторые rdd-методы или преобразовываю данные в case-класс для создания набора данных, я получаю эту ошибку:

Caused by: java.lang.NoClassDefFoundError: scala/Product$class

Я подозреваю, что это ошибка зависимости.Итак, как мне изменить свои зависимости, чтобы это исправить?

список зависимостей:

import sbt._

object Dependencies {
  lazy val scalaCsv = "com.github.tototoshi" %% "scala-csv" % "1.3.5"
  lazy val sparkSql = "org.apache.spark" %% "spark-sql" % "2.3.3"
  lazy val sparkCore = "org.apache.spark" %% "spark-core" % "2.3.3"
}

build.sbt file:

import Dependencies._
lazy val root = (project in file(".")).
  settings(
    inThisBuild(List(
      scalaVersion := "2.11.12",
      version      := "test"
    )),
    name := "project",
    libraryDependencies ++= Seq(scalaCsv, sparkSql, sparkCore),
    mainClass in (Compile, run) := Some("testproject.spark.Main")
  )

Я запускаю приложение spark с spark 2.3.3 как мой домашний каталог искры, как это:

#!/bin/sh
$SPARK_HOME/bin/spark-submit \
  --class "testproject.spark.Main " \
  --master local[*] \
  target/scala-2.11/test.jar

1 Ответ

0 голосов
/ 09 июня 2019

Не уверен, в чем именно проблема, однако я пересоздал проект и перенес туда исходный код.Ошибка исчезла

...