10

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

我有所有的 CF 和大量的数据。当我运行时:

cqlsh -2 或 cqlsh -3 cql> 使用“test_keyspace”;cql:test_keyspace> SELECT * FROM "column_family_name" LIMIT 1;

注意:CF 是使用 pycassa 创建的,我正在尝试使用 cql 读取。不确定,如果这会有所作为。

它抛出,Bad Request: unconfigured columnfamily 也许您打算使用 CQL 2?启动 cqlsh 时尝试使用 -2 选项。

我需要查看任何特定设置来解决此问题吗?

4

3 回答 3

9

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

SELECT * FROM "CFNAME" LIMIT 1;

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

于 2013-04-22T18:17:30.067 回答
1

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

于 2013-04-23T03:27:08.657 回答
0

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

可以按如下方式指定键空间:

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

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

using "keyspace_name"
于 2013-04-22T19:09:09.467 回答