Cassandra"选择为"区分大小写

key*_*int 1 database case-sensitive case-insensitive cassandra cassandra-2.0

Cassandra版本:2.2.0

我有像下面的Cassandra表:

 app_id                           | ts                       | os_name   
----------------------------------+--------------------------+-----------
 bb61ffae3b8f73e61572b61450d6d5d6 | 2015-08-04 22:00:00-0700 |   Android
 bb61ffae3b8f73e61572b61450d6d5d6 | 2015-08-05 22:00:00-0700 |   Android
Run Code Online (Sandbox Code Playgroud)

当我" 选择app_id作为appID "时,返回的列名称都是小写的.

cqlsh:myDB> SELECT app_id as appID FROM daily_activity_report limit 10;
Run Code Online (Sandbox Code Playgroud)

然后我得到了:

 appid
----------------------------------
 bb61ffae3b8f73e61572b61450d6d5d6
 7b87263e57a34deccb462b26786896b3
Run Code Online (Sandbox Code Playgroud)

在我的查询中,我指定大写 "SELECT distinct app_id as appID ",但返回的是小写的 " appid ".

是否有任何配置变量我缺少启用区分大小写的列名称?如何使其区分大小写?

非常感谢.


更新:我还尝试在列名"appID"中添加引号,如下所示,但没有运气.

cqlsh:myDB> SELECT app_id as 'appID' FROM daily_activity_report limit 10;
Run Code Online (Sandbox Code Playgroud)

响应:

SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] 
message="line 1:26 no viable alternative at input 'appID' (SELECT distinct app_id as ['appI]...)">
Run Code Online (Sandbox Code Playgroud)

Ale*_*er 5

从DataStax文档中,

使用CQL 3创建的Keyspace,列和表名称不区分大小写,除非用双引号括起来.如果使用任何大写字母输入这些对象的名称,Cassandra会以小写字母存储名称.您可以使用双引号强制大小写.

http://docs.datastax.com/en/cql/3.0/cql/cql_reference/ucase-lcase_r.html

使用双引号而不是单引号应该适合您.