最初のプロジェクトで機能したSparkの依存関係を作成しました。しかし、Sparkを使用して新しいプロジェクトを作成しようとすると、SBTはorg.Apache.sparkの外部jarをインポートしません。したがって。 IntelliJ Ideaは、「シンボルを解決できません」というエラーを表示します。新しいプロジェクトを最初から作成して自動インポートを使用しようとしましたが、機能しません。コンパイルしようとすると、「オブジェクトApacheはのメンバーではありません」というメッセージが表示されます。 package org "。私のbuild.sbtは次のようになります:
name := "hello"
version := "1.0"
scalaVersion := "2.11.7"
libraryDependencies += "org.Apache.spark" % "spark-parent_2.10" % "1.4.1"
すでに一度は機能していましたが、SBTの設定に問題があるのではないかと思います。そして、外部ライブラリを除いてすべてが同じです...私もspark依存関係のpom.xmlファイルをインポートしようとしましたが、それも機能しません。よろしくお願いします!
これは私のために働いた->
name := "ProjectName"
version := "0.1"
scalaVersion := "2.11.11"
libraryDependencies ++= Seq(
"org.Apache.spark" % "spark-core_2.11" % "2.2.0",
"org.Apache.spark" % "spark-sql_2.11" % "2.2.0",
"org.Apache.spark" % "spark-mllib_2.10" % "1.1.0"
)
私が使う
scalaVersion := "2.11.7"
libraryDependencies += "org.Apache.spark" %% "spark-core" % "1.4.1"
私のbuild.sbt
そしてそれは私のために働きます。
私も同様の問題を抱えていました。その理由は、build.sbt
ファイルが間違ったバージョンのscalaを指定していたためと思われます。
spark-Shell
を実行すると、ある時点でscala Sparkで使用されるバージョンが表示されます。
Using Scala version 2.11.8
次に、build.sbt
ファイルの行を編集して、そのバージョンを指すようにしましたが、機能しました。
現在 spark-cassandra-connector Scala 2.10および2.11と互換性があります。
以下のように私のプロジェクトのscalaバージョンを更新したとき、それは私のために働きました:
ThisBuild / scalaVersion := "2.11.12"
そして私は私の依存関係を次のように更新しました:
libraryDependencies += "com.datastax.spark" %% "spark-cassandra-connector" % "2.4.0",
「%%」を使用すると、sbtはプロジェクトのバイナリScalaバージョンをアーティファクト名に追加します。
Sbt実行から:
sbt> reload
sbt> compile
ライブラリの依存関係が、使用しているscalaバージョンと競合します。これを機能させるには、2.11を使用する必要があります。正しい依存関係は次のとおりです。
scalaVersion := "2.11.7"
libraryDependencies += "org.Apache.spark" % "spark-core_2.11" % "1.4.1"
spark_parentをspark_coreに変更する必要があることに注意してください
名前:= "SparkLearning"
バージョン:= "0.1"
scalaVersion:= "2.12.3"
//追加のライブラリlibraryDependencies + = "org.Apache.spark"% "spark-streaming_2.10"% "1.4.1"