java.lang.ClassCastException: com.datastax.driver.core.DefaultResultSetFuture не может быть приведен к shade.com.datastax - PullRequest
0 голосов
/ 26 июня 2019

Я получаю эту ошибку при попытке запустить вышеуказанный код.

Ошибка:

  Exception:
    Caused by: java.lang.ClassCastException: com.datastax.driver.core.DefaultResultSetFuture cannot be cast to shade.com.datastax.spark.connector.google.common.util.concurrent.ListenableFuture
        at com.datastax.spark.connector.writer.AsyncExecutor.com$datastax$spark$connector$writer$AsyncExecutor$$tryFuture$1(AsyncExecutor.scala:38) ~[spark-cassandra-connector_2.11-2.3.1.jar:2.3.1]
        at com.datastax.spark.connector.writer.AsyncExecutor.executeAsync(AsyncExecutor.scala:71) ~[spark-cassandra-connector_2.11-2.3.1.jar:2.3.1]
        at com.datastax.spark.connector.writer.TableWriter$$anonfun$writeInternal$1$$anonfun$apply$2.apply(TableWriter.scala:234) ~[spark-cassandra-connector_2.11-2.3.1.jar:2.3.1]
        at com.datastax.spark.connector.writer.TableWriter$$anonfun$writeInternal$1$$anonfun$apply$2.apply(TableWriter.scala:233) ~[spark-cassandra-connector_2.11-2.3.1.jar:2.3.1]
        at scala.collection.Iterator$class.foreach(Iterator.scala:893) ~[scala-library-2.11.8.jar:?]

Фрагменты кода.

<dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>com.datastax.spark</groupId>
            <artifactId>spark-cassandra-connector_2.11</artifactId>
            <version>2.3.1</version>
        </dependency>

        <dependency>
            <groupId>com.datastax.cassandra</groupId>
            <artifactId>cassandra-driver-mapping</artifactId>
            <version>3.2.0</version>
        </dependency>

Не могли бы вы помочь решить эту проблему?Заранее спасибо.

1 Ответ

0 голосов
/ 26 июня 2019

Это может произойти, только если включена не затененная версия драйвера Java.Из-за несовместимости с Гуавой нам нужно затенять драйвер Java в Spark Cassandra Connector.Это означает, что любые дополнительные библиотеки на основе драйвера Java нарушат затенение и приведут к ошибкам отражения, подобным приведенному выше.

Если вам нужно вручную что-то сделать с версией драйвера Java, используйте незатененную версию Spark Cassandra Connector, включите свои собственные библиотеки, затем снова затените гуаву.

...