使用Cassandra 2.28,Drive 3,Sparks2。 我在Cassandra中有一个时间戳列,我在的日期部分只查询。如果我按日期查询:.where("TRAN_DATE= ?", "2012-01-21"
:它不会带来任何结果。如果我包含时间部分,则表示无效日期。我的数据(如我可以cqlsh阅读)是:2012-01-21 08:01:00 + 0000Cassandra查询时间戳列
PARAM: “2012-01-21”>没有错误,但没有结果
PARAM:“ 2012-01-21 8点01分00" 秒>错误:无效日期
PARAM: “2012-01-21 08:01:00 + 0000”>错误:无效日期
的SimpleDateFormat DATE_FORMAT =新的SimpleDateFormat(“yyyy/mm/dd”); TRAN_DATE = DATE_FORMAT.parse(“1/19/2012”); 曾用批量载入/ SSLoader装载表
数据表:
tran_date | id
--------------------------+-------
2012-01-14 08:01:00+0000 | ABC
2012-01-24 08:01:00+0000 | ABC
2012-01-23 08:01:00+0000 | ALM
2012-01-29 08:01:00+0000 | ALM
2012-01-13 08:01:00+0000 | ATC
2012-01-15 08:01:00+0000 | ATI
2012-01-18 08:01:00+0000 | FKT
2012-01-05 08:01:00+0000 | NYC
2012-01-11 08:01:00+0000 | JDU
2012-01-04 08:01:00+0000 | LST
我该如何解决这个问题。
感谢
谢谢。是的,我需要使用日期而不是日期字符串 - 查询现在运行(没有错误)。但我仍然有同样的问题 - **没有结果**。需要解决时间问题。 –
添加更多详情 –
我的专栏是'timestamp',所以我的表中的数据是日期 - 时间(即使原始数据仅为日期)。现在,当我尝试按日期查询时,只有查询失败 - 可能不匹配。我试着用日期时间查询 - 出错了。 (原始问题中的细节)。所以我需要解决的问题是按日期查询并获得匹配。我可以查询任何方式 - 尝试2个选项都不起作用。那么如何 –