2016-06-23 7 views
2

Ich versuche, Daten von Spark zu Cassandra in Scala mit saveToCassandra für eine RDD oder speichern mit einem Datenrahmen (beide in demselben Fehler) zu speichern. Die vollständige Nachricht ist:Speichern von Daten von Spark zu Cassandra Ergebnisse in java.lang.ClassCastException

java.lang.ClassCastException: com.datastax.driver.core.DefaultResultSetFuture nicht com.google.common.util.concurrent.ListenableFuture gegossen werden kann

I bin zusammen mit dem code here gefolgt und trotzdem scheint der fehler zu kommen.

Ich benutze Cassandra 3.6, Spark 1.6.1 und Spark-Cassandra-Connector 1.6. Lassen Sie mich wissen, ob es noch etwas gibt, das ich zur Verfügung stellen kann, um beim Debuggen zu helfen.

Antwort

1

Ich hatte ähnliche Ausnahme und regelte es nach Version in build.sbt scala Wechsel:

scalaVersion := "2.10.6" 

und Bibliotheksabhängigkeiten:

libraryDependencies ++= Seq(
    "com.datastax.spark" %% "spark-cassandra-connector" % "1.6.0", 
    "com.datastax.cassandra" % "cassandra-driver-core" % "3.0.2", 
    "org.apache.spark" %% "spark-core" % "1.6.1" % "provided", 
    "org.apache.spark" %% "spark-sql" % "1.6.1" % "provided" 
) 

Mit diesem Konfigurationsbeispiel von 5-minute quick start guide funktioniert gut.

+0

Danke, dies half, das Problem zu beheben. Eines der Hauptprobleme, die ich hatte, sind widersprüchliche Guava-Versionen. Wenn jemand in der Zukunft auf diesen Fehler stößt, würde ich mich darum kümmern. Ich konnte es nicht lösen, ohne den Code in verschiedene Projekte zu stecken, aber ich stelle mir vor, dass es einen Weg gibt, ohne das zu tun (Schattierung vielleicht? Ich weiß nicht genug darüber ...). –

+0

@grzesiekw Ich hatte auch das gleiche Problem. Deine Bibliotheksinformationen haben mich gerettet. Danke – BDR

+0

Connector 1.6.0 hängt von C * Treiber 3.0.0 ab, wenn Sie die Zweigquelle überprüfen. Ich frage mich, warum C * Treiber 3.0.2 hier explizit benötigt wird. Außerdem ist es eine interessante Entscheidung für Datastax, Änderungen von 3.0.0 auf 3.0.2 zu ändern. –

Verwandte Themen