带有 Spark 和 Cassandra 的 SBT 应用程序 - 类路径中缺少符号 'type <none>.package.DataFrame'
SBT app with Spark and Cassandra - Symbol 'type <none>.package.DataFrame' is missing from the classpath
我正在尝试创建简单的 Apache Spark 应用程序,它将使用 Datastax Cassandra 连接器连接到 Cassandra 并执行一些操作,但出现错误
Symbol 'type <none>.package.DataFrame' is missing from the classpath.
我的build.sbt
:
name := "spark-app"
version := "1.0"
scalaVersion := "2.11.11"
libraryDependencies ++= Seq(
"com.datastax.spark" %% "spark-cassandra-connector" % "2.0.0",
"org.apache.spark" %% "spark-core" % "2.1.1" % "provided"
)
resolvers += "Spark Packages Repo" at "https://dl.bintray.com/spark-packages/maven"
我的简单应用:
package com.budgetbakers.be.dwh.spark
import com.datastax.spark.connector._
import org.apache.spark.{SparkConf, SparkContext}
object Distinct {
def main(args: Array[String]): Unit = {
val conf = new SparkConf(true)
.set("spark.cassandra.connection.host", "127.0.0.1")
val sc = new SparkContext(conf)
println(sc.cassandraTable("ks", "users").select("gender").distinct().collect().mkString(","))
sc.stop()
}
}
当我尝试 package
项目时,出现以下编译错误:
[error] /.../Distinct.scala:18: Symbol 'type <none>.package.DataFrame' is missing from the classpath.
[error] This symbol is required by 'value com.datastax.spark.connector.package.dataFrame'.
[error] Make sure that type DataFrame is in your classpath and check for conflicting dependencies with `-Ylog-classpath`.
[error] A full rebuild may help if 'package.class' was compiled against an incompatible version of <none>.package.
[error] println(sc.cassandraTable("ks", "users").select("gender").distinct().collect().mkString(","))
[error] ^
我是不是漏掉了什么?也许存在一些依赖冲突?
我使用的应用版本:
- 卡桑德拉:3.1
- apache 火花:2.1.1
- spark cassandra 连接器:2.0.0
- 斯卡拉:2.11
- sbt: 0.13.15
- sbt 汇编插件:0.14.0
尝试添加 spark-sql
依赖项以及核心库。为了将来参考,有示例构建文件 here
我正在尝试创建简单的 Apache Spark 应用程序,它将使用 Datastax Cassandra 连接器连接到 Cassandra 并执行一些操作,但出现错误
Symbol 'type <none>.package.DataFrame' is missing from the classpath.
我的build.sbt
:
name := "spark-app"
version := "1.0"
scalaVersion := "2.11.11"
libraryDependencies ++= Seq(
"com.datastax.spark" %% "spark-cassandra-connector" % "2.0.0",
"org.apache.spark" %% "spark-core" % "2.1.1" % "provided"
)
resolvers += "Spark Packages Repo" at "https://dl.bintray.com/spark-packages/maven"
我的简单应用:
package com.budgetbakers.be.dwh.spark
import com.datastax.spark.connector._
import org.apache.spark.{SparkConf, SparkContext}
object Distinct {
def main(args: Array[String]): Unit = {
val conf = new SparkConf(true)
.set("spark.cassandra.connection.host", "127.0.0.1")
val sc = new SparkContext(conf)
println(sc.cassandraTable("ks", "users").select("gender").distinct().collect().mkString(","))
sc.stop()
}
}
当我尝试 package
项目时,出现以下编译错误:
[error] /.../Distinct.scala:18: Symbol 'type <none>.package.DataFrame' is missing from the classpath.
[error] This symbol is required by 'value com.datastax.spark.connector.package.dataFrame'.
[error] Make sure that type DataFrame is in your classpath and check for conflicting dependencies with `-Ylog-classpath`.
[error] A full rebuild may help if 'package.class' was compiled against an incompatible version of <none>.package.
[error] println(sc.cassandraTable("ks", "users").select("gender").distinct().collect().mkString(","))
[error] ^
我是不是漏掉了什么?也许存在一些依赖冲突?
我使用的应用版本:
- 卡桑德拉:3.1
- apache 火花:2.1.1
- spark cassandra 连接器:2.0.0
- 斯卡拉:2.11
- sbt: 0.13.15
- sbt 汇编插件:0.14.0
尝试添加 spark-sql
依赖项以及核心库。为了将来参考,有示例构建文件 here