Cassandra 错误请求:未配置的columnfamily<;CF_name>;在卡桑德拉

Cassandra 错误请求:未配置的columnfamily<;CF_name>;在卡桑德拉,cassandra,cql,Cassandra,Cql,我正在使用以下版本的cql和cassandra。见下文: cqlsh 2.3.0 |卡桑德拉1.1.10 | CQL规范3.0.0 |节约协议19.33.0 我有所有的CF和大量的数据。当我跑步时: cqlsh-2或cqlsh-3 cql>使用“测试键空间”; cql:test_keyspace>从“column_family_name”限制1中选择* 注意:CFs是使用pycassa创建的,我正在尝试使用cql读取。不确定,这是否会产生影响 它抛出, 错误请求:未配置的columnfamily

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

我有所有的CF和大量的数据。当我跑步时:

cqlsh-2或cqlsh-3 cql>使用“测试键空间”; cql:test_keyspace>从“column_family_name”限制1中选择*

注意:CFs是使用pycassa创建的,我正在尝试使用cql读取。不确定,这是否会产生影响

它抛出, 错误请求:未配置的columnfamily 也许你想用cql2?在启动cqlsh时尝试使用-2选项


是否有任何我需要查看的特定设置来解决此问题?

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

SELECT * FROM "CFNAME" LIMIT 1;

看起来您在创建表时忘记了从api启用CQL3,您没有在语句中指定键空间

指定键空间,如下所示:

 SELECT * FROM "keyspace_name"."column_family_name" LIMIT 1;
或在查询列族之前,通过“using”语句指定cqlsh的键空间:

using "keyspace_name"

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

\@abhi-很抱歉,我指定了CF名称。OQ编辑。我正在使用,编辑器将其删除,认为它是元标记或其他东西。您可以共享您的信息吗?使用cqlshcqlsh:ks_prod>描述列族;CFtest1 CFtest2by默认值CQL3不区分大小写,除非用双引号括起来。请参阅更新部分,了解cql 2/3和cassandra 1.1.10(cassandra-4363)的大量问题。转到皮卡萨。谢谢大家。@CuriousMind cql是未来(thrift api不会有新功能),但这是你们的选择。如果你发布更多关于你的键空间的细节(你如何创建它等等),我可以发布一些关于你需要做什么的例子。但无论如何祝你好运!据我所知,柱族是使用pycassa作为fas创建的。这是lagacy代码。我只是想找出所有未使用的CFs,这样我就可以删除它们了。如果您还有任何问题,请告诉我。@ciiousmind您可以做的是查看不同列族中列的时间戳。问题是cql(sh)无法做到这一点,但是如果您使用pycassa并将
include_timestamp=True
添加到
.get()
的参数中,您将能够查看时间戳。然后可以计算出上次使用列的时间。