当前位置: 首页 > 知识库问答 >
问题:

spark cassandra连接器和SBT的编译错误

乐成济
2023-03-14

我在试着让DataStax spark cassandra连接器工作。我在IntelliJ中创建了一个新的SBT项目,并添加了一个类。下面给出了类和我的sbt文件。创建spark上下文似乎可以工作,但是,当我取消注释试图创建cassandraTable的行时,我得到了以下编译错误:

错误:Scalac:错误的符号引用。Cassandrarow.class中的签名引用了包org.apache.spark.sql中的术语catalyst,但该术语不可用。它可能在当前类路径中完全丢失,或者类路径上的版本可能与编译Cassandrarow.class时使用的版本不兼容。

name := "cassySpark1"

version := "1.0"

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.1.0"

libraryDependencies += "com.datastax.spark" % "spark-cassandra-connector" % "1.1.0" withSources() withJavadoc()

libraryDependencies += "com.datastax.spark" %% "spark-cassandra-connector-java" % "1.1.0-alpha2" withSources() withJavadoc()

resolvers += "Akka Repository" at "http://repo.akka.io/releases/"

导入org.apache.spark。{SparkConf,SparkContext}

导入com.datastax.spark.connector._

对象HelloWorld{def main(args:array[String]):Unit={System.SetProperty(“spark.cassandra.query.retry.count”,“1”)

val conf = new SparkConf(true)
  .set("spark.cassandra.connection.host", "cassandra-hostname")
  .set("spark.cassandra.username", "cassandra")
  .set("spark.cassandra.password", "cassandra")

val sc = new SparkContext("local", "testingCassy", conf)

>//val foo=sc.cassandratable(“keyspace name”,“table name”)

val rdd = sc.parallelize(1 to 100)
val sum = rdd.reduce(_+_)

println(sum)   } }

共有1个答案

宗政才俊
2023-03-14

您需要将spark-sql添加到依赖项列表

libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.1.0"
 类似资料:
  • 我试图使用scalapb从protobuf生成case类。但是,我目前编译错误。 我有我的scalapb。sbt如下: 还有,我的构建。sbt如下: 此外,我还创建了一个示例。原型文件如下: 现在,当我尝试时,我收到以下错误: 有人能帮我解决这个错误吗? 我对scalapb的版本也有点困惑。萨米特。scalapb(https://scalapb.github.io/sbt-settings.htm

  • 我将repo.scala-sbt.org和dl.bintray.com证书添加到Java密钥库中,并将密钥库路径(djavax.net.ssl.truststore)添加到sbt配置中,但这并不能解决问题。有什么解决这个问题的建议吗? --TIA -djavax.net.ssl.trustStore=“\jre\lib\security\cacerts” [error](更新)LMCoursier

  • 问题内容: 我发现这比任何事情都有趣。我已经解决了,但是我想知道原因。错误如下:。为什么抱怨呢?似乎是最简单的表达方式之一。 编译器指向该部分 解决方法是: 这也可以(通过@efischency)起作用,但是我不太喜欢它,因为我认为迷路了: 问题答案: 我不是编译器专家-我不知道这个答案是否会“以有意义的方式改变您的想法”,但是我对问题的理解是: 它与类型推断有关。每次使用运算符时,Swift都必

  • 问题内容: 以下代码块在1.8.11中可以正常编译,但在1.8.20中会引发错误 我得到的错误是java:找不到适合过滤器的方法(com.google.common.base.Predicate) 在更新8和20之间是否存在会影响此代码的更改?我在两种情况下都使用相同版本的guava 17.0(最新版本),唯一的变化是Java中的更新版本。 任何帮助是极大的赞赏。 编辑 显示错误的行是 问题答案:

  • 我试图从spark 1.6迁移到2.0,但仅在2.0上编译时出现以下错误: 无法找到存储在数据集中的类型的编码器。导入支持原始类型(Int、String等)和产品类型(case类)spark.implicits._将在未来版本中添加对序列化其他类型的支持。val subGroupCount: Array[Seq[any]]=columns.map(c= 问候