【问题标题】:Cassandra Cql timeunix range queryCassandra Cql timeunix 范围查询
【发布时间】:2013-03-19 04:45:15
【问题描述】:

我有这个查询,在我的 columnfamily 中,所有列名都是一个 unix 时间戳。如果我意识到这个查询,我有这个消息:

   SELECT FIRST  10000 '631144800'..'1363176066'   FROM datas where KEY='users';
   Bad Request: range finish must come after start in traversal order

但如果我在第一个日期之前输入 0:

   SELECT FIRST  10000 '0631144800'..'1363176066'   FROM datas where KEY='users';

它有效,这是一个错误吗?我不知道为什么它在第一个查询中不起作用

如果字符串的长度较小,它总是给我同样的问题,我尝试使用 999999999 并给出了同样的错误

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    您需要将列比较器设置为 LongType,以便 Cassandra 进行数字比较而不是字典比较(默认)。

    很遗憾,您无法在现有数据上更改此设置。如果你不能重写你的数据,你将不得不归零。

    【讨论】:

      猜你喜欢
      • 2015-03-10
      • 2013-01-02
      • 2013-08-14
      • 1970-01-01
      • 2012-01-09
      • 2014-03-04
      • 2019-05-18
      • 1970-01-01
      • 2012-03-13
      相关资源
      最近更新 更多