忽略编解码器,因为它与之前生成的编解码器冲突

问题描述 投票:0回答:1

我正在尝试注册自定义代码(用于地图),如下所示

    val session: CqlSession = CassandraConnector.apply(spark.sparkContext).openSession()
    val codecRegistry: MutableCodecRegistry = session.getContext.getCodecRegistry.asInstanceOf[MutableCodecRegistry];
    val codec: CustomMapCodec = new CustomMapCodec()
    codecRegistry.register(codec)

但是出现错误

Ignoring codec CustomMapCodec@3791af because it collides with previously generated codec com.datastax.oss.driver.internal.core.type.codec.MapCodec@66fff42f

有人知道我该怎么做吗? 我在我的 scala 应用程序中使用 Spark-cassandra-connector_2.12 和版本 2.5.2。

尝试按照文档中所述在我的 CqlSession 对象中注册自定义编解码器:https://docs.datastax.com/en/developer/java-driver/4.17/manual/core/custom_codecs/index.html

scala cassandra datastax-java-driver spark-cassandra-connector scala-spark
1个回答
0
投票

当我从对我有用的代码中删除手动注册编解码器时,我遇到了类似的问题,但并不完全相同。

© www.soinside.com 2019 - 2024. All rights reserved.