Datastax Cassandra Pilote jeter CodecNotFoundException

L'Exception exacte est comme suit

com.datastax.le pilote.de base.des exceptions.CodecNotFoundException: Codec pas trouvé pour l'opération demandée: [varchar <-> java.les mathématiques.BigDecimal]

Ce sont des versions de Logiciel, je suis en utilisant
Étincelle de 1,5
Datastax-cassandra 3.2.1
CDH 5.5.1

Le code, je suis en train d'exécuter est une Étincelle du programme à l'aide de l'api java et il lit des données (csv) de hdfs et la charge dans cassandra tables . Je suis l'aide de la spark-cassandra-connecteur. J'ai eu beaucoup de questions concernant le google s goyave bibliothèque de conflit d'abord qui j'ai été en mesure de résoudre par l'ombrage de la goyave, de la bibliothèque et de la construction d'un snap-shot pot avec toutes les dépendances.

Cependant, j'ai été en mesure de charger des données pour certains fichiers, mais pour certains fichiers, j'obtiens le Codec Exception . Lorsque j'ai fait des recherches sur cette question, j'ai eu ces threads suivants sur la même question.

https://groups.google.com/a/lists.datastax.com/forum/#!topic/java-pilote-de l'utilisateur/yZyaOQ-wazk

https://groups.google.com/a/lists.datastax.com/forum/#!topic/java-pilote-de l'utilisateur/yZyaOQ-wazk

Après discussion, ce que je comprends, c'est soit c'est une mauvaise version de l'cassandra-pilote, je suis à l'aide . Ou il y a encore une classe de problème de chemin d'accès liées à la goyave de la bibliothèque comme cassandra 3.0 et versions ultérieures utilisent la goyave 16.0.1 et les discussions ci-dessus-dire qu'il pourrait y avoir une version basse de la goyave présent dans le chemin de classe .

Est ici pom.xml fichier

 <dependencies>
 <dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.5.0</version> 
</dependency>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
</dependency>
<dependency>
<groupId>com.datastax.spark</groupId>
<artifactId>spark-cassandra-connector-java_2.10</artifactId>
<version>1.5.0-M3</version>
</dependency>
<dependency>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-clientutil</artifactId>
<version>3.2.1</version>
</dependency>

</dependencies>
  <build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.3</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>shade</goal>
                </goals>
                <configuration>
                 <filters>
    <filter>
        <artifact>*:*</artifact>
        <excludes>
            <exclude>META-INF/*.SF</exclude>
            <exclude>META-INF/*.DSA</exclude>
            <exclude>META-INF/*.RSA</exclude>
        </excludes>
    </filter>
</filters>
                    <relocations>
                        <relocation>
                            <pattern>com.google</pattern>
                            <shadedPattern>com.pointcross.shaded.google</shadedPattern>
                        </relocation>

                    </relocations>
                    <minimizeJar>false</minimizeJar>
                    <shadedArtifactAttached>true</shadedArtifactAttached>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>
</build>
</project>

et ce sont les dépendances qui ont été téléchargés à l'aide de la pom

spark-core_2.10-1.5.0.jar
spark-cassandra-connector-   java_2.10-1.5.0-M3.jar
spark-cassandra-connector_2.10-1.5.0-M3.jar
spark-repl_2.10-1.5.1.jar
spark-bagel_2.10-1.5.1.jar
spark-mllib_2.10-1.5.1.jar
spark-streaming_2.10-1.5.1.jar
spark-graphx_2.10-1.5.1.jar
guava-16.0.1.jar
cassandra-clientutil-3.2.1.jar
cassandra-driver-core-3.0.0-alpha4.jar

Ci-dessus sont quelques-uns des principaux dépendances dans mon snap-shot jar.

Y est le CodecNotFoundException ? Est-ce parce que le chemin de classe (goyave) ? ou cassandra-pilote (cassandra-driver-core-3.0.0-alpha4.jar pour datastax cassandra 3.2.1) ou parce que le code .

Un autre point est toutes les dates je suis insertion de colonnes qui est un type de données timestamp .

Aussi quand je fais une étincelle soumettre, je vois le chemin de classe dans les journaux , Il y a d'autres goyave versions qui sont sous hadoop libs . R ces à l'origine du problème ?

Comment spécifier l'utilisateur du chemin de classe, alors que faire une étincelle soumettre. Cela aidera ?

Serais heureux d'obtenir quelques points sur ces.
Grâce

Suivant est le stacktrace

com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [timestamp <-> java.lang.String]
at com.datastax.driver.core.CodecRegistry.notFound(CodecRegistry.java:689)
at com.datastax.driver.core.CodecRegistry.createCodec(CodecRegistry.java:550)
at com.datastax.driver.core.CodecRegistry.findCodec(CodecRegistry.java:530)
at com.datastax.driver.core.CodecRegistry.codecFor(CodecRegistry.java:485)
at com.datastax.driver.core.AbstractGettableByIndexData.codecFor(AbstractGettableByIndexData.java:85)
at com.datastax.driver.core.BoundStatement.bind(BoundStatement.java:198)
at com.datastax.driver.core.DefaultPreparedStatement.bind(DefaultPreparedStatement.java:126)
at com.cassandra.test.LoadDataToCassandra$1.call(LoadDataToCassandra.java:223)
at com.cassandra.test.LoadDataToCassandra$1.call(LoadDataToCassandra.java:1)
at org.apache.spark.api.java.JavaPairRDD$$anonfun$toScalaFunction$1.apply(JavaPairRDD.scala:1027)
at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
at org.apache.spark.util.Utils$.getIteratorSize(Utils.scala:1555)
at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1121)
at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1121)
at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1850)
at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1850)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
at org.apache.spark.scheduler.Task.run(Task.scala:88)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

J'ai aussi eu

com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [Math.BigDecimal <-> java.lang.String]
Pouvez-vous partager la trace de la pile?
J'ai partagé le stacktrace

OriginalL'auteur Syed Ammar Mustafa | 2016-06-02