Hi,

I  have a spark application which uses Cassandra
"connectorspark-cassandra-connector-assembly-1.2.0-SNAPSHOT.jar" to load
data from Cassandra into spark.

Everything works fine in the local mode, when I run in my IDE. But when I
submit the application to be executed in standalone Spark server, I get the
following exception, (which is apparently related to Guava versions ???!).
Does any one know how to solve this?

I create a jar file of my spark application using assembly.bat, and the
followings is the dependencies I used:

I put the "connectorspark-cassandra-connector-assembly-1.2.0-SNAPSHOT.ja"
in the "lib/" folder of my eclipse project thats why it is not included in
the dependencies

libraryDependencies ++= Seq(

    "org.apache.spark"        %% "spark-catalyst"        % "1.1.0" %
"provided",

    "org.apache.cassandra" % "cassandra-all" % "2.0.9" intransitive(),

    "org.apache.cassandra" % "cassandra-thrift" % "2.0.9" intransitive(),

    "net.jpountz.lz4" % "lz4" % "1.2.0",

    "org.apache.thrift" % "libthrift" % "0.9.1" exclude("org.slf4j", "slf4j-
api") exclude("javax.servlet", "servlet-api"),

    "com.datastax.cassandra" % "cassandra-driver-core" % "2.0.4"
intransitive(),

    "org.apache.spark" %% "spark-core" % "1.1.0" % "provided"
exclude("org.apache.hadoop", "hadoop-core"),

    "org.apache.spark" %% "spark-streaming" % "1.1.0" % "provided",

    "org.apache.hadoop" % "hadoop-client" % "1.0.4" % "provided",

    "com.github.nscala-time" %% "nscala-time" % "1.0.0",

    "org.scalatest" %% "scalatest" % "1.9.1" % "test",

    "org.apache.spark" %% "spark-sql" % "1.1.0" %  "provided",

    "org.apache.spark" %% "spark-hive" % "1.1.0" % "provided",

    "org.json4s" %% "json4s-jackson" % "3.2.5",

    "junit" % "junit" % "4.8.1" % "test",

    "org.slf4j" % "slf4j-api" % "1.7.7",

    "org.slf4j" % "slf4j-simple" % "1.7.7",

    "org.clapper" %% "grizzled-slf4j" % "1.0.2",

    "log4j" % "log4j" % "1.2.17",

     "com.google.guava" % "guava"  % "16.0"

   )

best,

/Shahab
And this is the exception I get:

Exception in thread "main"
com.google.common.util.concurrent.ExecutionError:
java.lang.NoSuchMethodError:
com.google.common.collect.Sets.newConcurrentHashSet()Ljava/util/Set;
        at
com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2261)
        at com.google.common.cache.LocalCache.get(LocalCache.java:4000)
        at
com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
        at
com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
        at
org.apache.spark.sql.cassandra.CassandraCatalog.lookupRelation(CassandraCatalog.scala:39)
        at org.apache.spark.sql.cassandra.CassandraSQLContext$$anon$2.org
$apache$spark$sql$catalyst$analysis$OverrideCatalog$$super$lookupRelation(CassandraSQLContext.scala:60)
        at
org.apache.spark.sql.catalyst.analysis.OverrideCatalog$$anonfun$lookupRelation$3.apply(Catalog.scala:123)
        at
org.apache.spark.sql.catalyst.analysis.OverrideCatalog$$anonfun$lookupRelation$3.apply(Catalog.scala:123)
        at scala.Option.getOrElse(Option.scala:120)
        at
org.apache.spark.sql.catalyst.analysis.OverrideCatalog$class.lookupRelation(Catalog.scala:123)
        at
org.apache.spark.sql.cassandra.CassandraSQLContext$$anon$2.lookupRelation(CassandraSQLContext.scala:65)

Reply via email to