为什么我的Cassandra SELECT WHERE语句返回0行?

时间:2014-10-06 13:52:16

标签: csv select cassandra

我试图通过USERID进行查询,这是一个索引,并且是一个复合键的一部分,在一个包含~1000行的表中:

create table MYTABLE (
DATE timestamp,
USERID text,
FIRST_NAME text,
LAST_NAME text,
primary key (DATE, USERID));

create index on mytable(userid);

以下工作正常:

select userid from mytable limit 5;

 userid
-------------
   "ID0003"
   "ID0004"
   "ID0005"
   "ID0006"
   "ID0007"

(5 rows)

但如果我通过其中一个ID查询,我会得到0行

select * from mytable where userid='ID0003' limit 5 ALLOW FILTERING;
(0 rows)

为什么我会获得0行?我有一个索引设置,所以that is not the problem

[cqlsh 4.1.1 | Cassandra 2.0.10 | CQL spec 3.1.1 | Thrift protocol 19.39.0]

1 个答案:

答案 0 :(得分:0)

这是CSV导入工作方式的工件。我的数据来自CSV,它使用引号作为特殊字符。所以我的行看起来像"2014-09-15", "ID0547" , "Firstname 0547" , "Lastname 0547"

旧版文档指出quotation marks are only special characters when a field has a newline。较新的文档没有注意到这一点,但行为仍然存在。因此,我的ID格式为[SPACE][DOUBLEQUOTE]ID0547[DOUBLEQUOTE][SPACE]