时间戳的Cassandra驱动程序异常

craig_gallencraig_gallen 成员职位:1学我
编辑2018年12月 产品反馈-解决

我试图连接rapidminer到cassandra 3.1,我相信我已经发现了一个错误。我正在使用手动查询来测试连接。大多数查询工作正常,但读取任何时间戳都会抛出异常。

Cassandra驱动程序未找到所请求操作的编解码器:[timestamp <-> com.datastax.driver.core.LocalDate]

(完整的堆栈跟踪和下面的示例表)

这个问题似乎与这个问题有关https://datastax-oss.atlassian.net/browse/JAVA-1176其中,Cassandra驱动程序更改了调用时间戳的方法,但rapidminer仍在使用旧的方法。(与此相关的是,如果我们能够为cassandra注入我们自己的自定义编解码器将非常有用https://docs.datastax.com/en/developer/java-driver/3.3/manual/custom_codecs/这将允许开发人员更好地处理注入到Cassandra数据库中的自定义数据类型)。

建议周围的工作欢迎:)

详情:

我的卡桑德拉表被定义为;

创建表用于美元。样品(
上下文的文本,
分区int,
资源文本,
collected_at时间戳,
metric_name文本,
价值的团,
属性映射<文本、文本>
主键((上下文,分区,资源),collected_at, metric_name)
);

我可以对表中的大多数列执行查询。如。

从示例中选择上下文、分区、资源、metric_name;

但如果我尝试选择时间戳使用

Select collected_at;

Rapidminer抛出以下异常

例外:com.rapidminer.operator.OperatorException
信息:未知错误。发生了一些错误。
堆栈跟踪:
com.rapidminer.extension.nosql.operator.cassandra.ReadCassandraOperator.createExampleSet (ReadCassandraOperator.java: 112)
com.rapidminer.operator.io.AbstractExampleSource.read (AbstractExampleSource.java: 49)
com.rapidminer.operator.io.AbstractExampleSource.read (AbstractExampleSource.java: 33)
com.rapidminer.operator.io.AbstractReader.doWork (AbstractReader.java: 126)
com.rapidminer.operator.Operator.execute (Operator.java: 1004)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute (SimpleUnitExecutor.java: 77)
com.rapidminer.operator.ExecutionUnit 3.美元运行(ExecutionUnit.java: 812)
com.rapidminer.operator.ExecutionUnit 3.美元运行(ExecutionUnit.java: 807)
java.security.AccessController。doPrivileged(本地方法)
com.rapidminer.operator.ExecutionUnit.execute (ExecutionUnit.java: 807)
com.rapidminer.operator.OperatorChain.doWork (OperatorChain.java: 428)
com.rapidminer.operator.Operator.execute (Operator.java: 1004)
com.rapidminer.Process.execute (Process.java: 1310)
com.rapidminer.Process.run (Process.java: 1285)
com.rapidminer.Process.run (Process.java: 1176)
com.rapidminer.Process.run (Process.java: 1129)
com.rapidminer.Process.run (Process.java: 1124)
com.rapidminer.Process.run (Process.java: 1114)
com.rapidminer.gui.ProcessThread.run (ProcessThread.java: 65)

导致
例外:com.datastax.driver.core.exceptions.CodecNotFoundException
[timestamp <-> com.datastax.driver.core.LocalDate]
堆栈跟踪:

com.datastax.driver.core.CodecRegistry.notFound (CodecRegistry.java: 741)
com.datastax.driver.core.CodecRegistry.createCodec (CodecRegistry.java: 588)
com.datastax.driver.core.CodecRegistry.access 500美元(CodecRegistry.java: 137)
com.datastax.driver.core.CodecRegistry TypeCodecCacheLoader.load美元(CodecRegistry.java: 246)
com.datastax.driver.core.CodecRegistry TypeCodecCacheLoader.load美元(CodecRegistry.java: 232)
com.google.common.cache.LocalCache LoadingValueReference.loadFuture美元(LocalCache.java: 3542)
com.google.common.cache.LocalCache Segment.loadSync美元(LocalCache.java: 2323)
com.google.common.cache.LocalCache Segment.lockedGetOrLoad美元(LocalCache.java: 2286)
com.google.common.cache.LocalCache Segment.get美元(LocalCache.java: 2201)
com.google.common.cache.LocalCache.get (LocalCache.java: 3953)
com.google.common.cache.LocalCache.getOrLoad (LocalCache.java: 3957)
com.google.common.cache.LocalCache LocalLoadingCache.get美元(LocalCache.java: 4875)
com.datastax.driver.core.CodecRegistry.lookupCodec (CodecRegistry.java: 522)
com.datastax.driver.core.CodecRegistry.codecFor (CodecRegistry.java: 485)
com.datastax.driver.core.CodecRegistry.codecFor (CodecRegistry.java: 467)
com.datastax.driver.core.AbstractGettableByIndexData.codecFor (AbstractGettableByIndexData.java: 69)
com.datastax.driver.core.AbstractGettableByIndexData.getDate (AbstractGettableByIndexData.java: 174)
com.datastax.driver.core.AbstractGettableData.getDate (AbstractGettableData.java: 26)
com.datastax.driver.core.AbstractGettableData.getDate (AbstractGettableData.java: 111)
com.rapidminer.extension.nosql.operator.cassandra.ReadCassandraOperator.createExampleSet (ReadCassandraOperator.java: 162)
com.rapidminer.extension.nosql.operator.cassandra.ReadCassandraOperator.createExampleSet (ReadCassandraOperator.java: 97)
com.rapidminer.operator.io.AbstractExampleSource.read (AbstractExampleSource.java: 49)
com.rapidminer.operator.io.AbstractExampleSource.read (AbstractExampleSource.java: 33)
com.rapidminer.operator.io.AbstractReader.doWork (AbstractReader.java: 126)
com.rapidminer.operator.Operator.execute (Operator.java: 1004)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute (SimpleUnitExecutor.java: 77)
com.rapidminer.operator.ExecutionUnit 3.美元运行(ExecutionUnit.java: 812)
com.rapidminer.operator.ExecutionUnit 3.美元运行(ExecutionUnit.java: 807)
java.security.AccessController。doPrivileged(本地方法)
com.rapidminer.operator.ExecutionUnit.execute (ExecutionUnit.java: 807)
com.rapidminer.operator.OperatorChain.doWork (OperatorChain.java: 428)
com.rapidminer.operator.Operator.execute (Operator.java: 1004)
com.rapidminer.Process.execute (Process.java: 1310)
com.rapidminer.Process.run (Process.java: 1285)
com.rapidminer.Process.run (Process.java: 1176)
com.rapidminer.Process.run (Process.java: 1129)
com.rapidminer.Process.run (Process.java: 1124)
com.rapidminer.Process.run (Process.java: 1114)
com.rapidminer.gui.ProcessThread.run (ProcessThread.java: 65)

标记:
0
0票

固定和释放·最后一次更新

评论

  • Marco_BoeckMarco_Boeck 软件工程组长管理员,版主,员工,会员,大学教授职位:1968年RM工程

    你好,

    谢谢你让我们注意到这一点。不幸的是,这确实是读取这些时间戳列的老方法,它不再适用于新的Cassandra版本。我为它创建了一个内部票据。


    问候,

    马可

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理

    非常感谢这个错误报告。会从这里跟进最新进展。

  • Marco_BoeckMarco_Boeck 软件工程组长管理员,版主,员工,会员,大学教授职位:1968年RM工程

    我们正在准备解决这个问题。应该在一周内准备好,但不要引用我的话;)

    我们将发布更新的扩展在市场上,一旦它准备好了。

  • Marco_BoeckMarco_Boeck 软件工程组长管理员,版主,员工,会员,大学教授职位:1968年RM工程

    NoSQL扩展的新版本8.2已经上传到了Marketplace。它将于明天与RapidMiner Studio 8.2一起上线。

  • sgenzersgenzer 12管理员,版主,员工,RapidMiner认证分析师,社区管理员,会员,大学教授,PM版主职位:2959年社区经理
登录注册置评。