错误请求:Cassandra </cf_name>中未配置的columnfamily <cf_name>

时间:2013-04-22 17:38:20

标签: cassandra cql

我正在使用以下版本的cql和cassandra。见下文: cqlsh 2.3.0 |卡桑德拉1.1.10 | CQL规范3.0.0 |节俭协议19.33.0

我拥有所有CF和大量数据。我跑的时候:

  

cqlsh -2或cqlsh -3   CQL&GT;使用“test_keyspace”;   CQL:test_keyspace&GT; SELECT * FROM“column_family_name”LIMIT 1;

注意:CF是使用pycassa创建的,我试图使用cql读取。不确定,如果这会产生影响。

它抛出, 错误请求:未配置的列家庭 也许你打算使用CQL 2?启动cqlsh时尝试使用-2选项。

我需要查看哪些具体设置才能解决此问题?

3 个答案:

答案 0 :(得分:8)

默认情况下,CQL3不区分大小写,除非用双引号括起来。尝试将您的CFNAME用双引号。

SELECT * FROM "CFNAME" LIMIT 1;

看起来您忘记在创建表时从api启用CQL3

答案 1 :(得分:1)

我想,一个解决方案是使用nodetool cfstats选项并评估结果。这适用于CF,它们从来没有使用过但不能用于有时创建和使用的CF,之后从未清理过并放弃,因为它们在nodetool cfstats结果中没有CF的访问时间。

答案 2 :(得分:0)

您没有在语句中指定键空间。

按如下方式指定键空间:

 SELECT * FROM "keyspace_name"."column_family_name" LIMIT 1;

或者在查询列族之前,通过'using'语句指定cqlsh的键空间:

using "keyspace_name"