【问题标题】:cassandra : datastax LocalDate Type mismatch to java.util.Date # scala Akkacassandra : datastax LocalDate 类型与 java.util.Date 不匹配# scala Akka
【发布时间】:2018-03-12 18:48:14
【问题描述】:

我一直在努力纠正这种类型不匹配的问题。我正在从 cassandra 获取结果集记录。使用的查询是:

CREATE TABLE tweets (
  key text PRIMARY KEY,
  user_user varchar,
  text text,
  createdat timestamp
  ) WITH comment='Tweets'
    AND COMPACT STORAGE
    AND read_repair_chance = 1.0;

cqlsh:akkacassandra> select * from tweets;

 key | createdat | text | user_user
-----+-----------+------+-----------

(0 rows)
cqlsh:akkacassandra>

这是定义类型的代码块:

Tweet.scala

中的某些部分
case class Tweet(id: TweetId, user: User, text: Text, createdAt: Date)

tweetread.scala

中的某些部分
def buildTweet(r: Row): Tweet = {
    val id = r.getString("key")
    val user = r.getString("user_user")
    val text = r.getString("text")
    val createdAt = r.getDate("createdat")
    Tweet(id, user, text, createdAt)
  }

但我在使用 sbt 运行时遇到以下错误。

[info] Loading project definition from C:\Akka Actors\activator-akka-cassandra-master\project
[info] Set current project to activator-akka-cassandra (in build file:/C:/Akka%20Actors/activator-akka-cassandra-master/)
[info] Compiling 8 Scala sources to C:\Akka Actors\activator-akka-cassandra-master\target\scala-2.10\classes...
[error] C:\Akka Actors\activator-akka-cassandra-master\src\main\scala\core\tweetread.scala:29: type mismatch;
[error]  found   : com.datastax.driver.core.LocalDate
[error]  required: java.util.Date
[error]     Tweet(id, user, text, createdAt)
[error]                           ^

我尝试了一些解决方案,例如用java.util.Date object 包装r.getDate("createdat")。但没有运气。任何建议都是可观的。提前致谢。

【问题讨论】:

    标签: scala date cassandra akka datastax


    【解决方案1】:

    使用getTimestamp,它返回一个java.util.Date

    def buildTweet(r: Row): Tweet = {
      val id = r.getString("key")
      val user = r.getString("user_user")
      val text = r.getString("text")
      val createdAt = r.getTimestamp("createdat") // <---
      Tweet(id, user, text, createdAt)
    }
    

    【讨论】:

      猜你喜欢
      • 2021-05-13
      • 2018-07-15
      • 2014-03-05
      • 2014-01-08
      • 2015-04-09
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      相关资源
      最近更新 更多