2013-04-22 51 views
9

我正在使用以下版本的cql和cassandra。見下面: cqlsh 2.3.0 | Cassandra 1.1.10 | CQL規範3.0.0 | Thrift協議19.33.0錯誤的請求:未配置的列族<CF_name>在Cassandra

我擁有所有CF和大量數據。當我運行:

cqlsh -2或-3 cqlsh CQL > USE 「test_keyspace」; cql:test_keyspace> SELECT * FROM「column_family_name」LIMIT 1;

注意:CFs是使用pycassa創建的,並且正在嘗試使用cql進行讀取。不確定,如果這會有所作爲。

它拋出, 錯誤的請求:未配置的columnfamily 也許你打算使用CQL 2?在啓動cqlsh時嘗試使用-2選項。

是否有任何特定的設置,我需要查看以解決此問題?

回答

1

我算了一下,一個解決方案是使用nodetool cfstats選項並評估結果。這適用於從未使用過的CF,但對於某些時候創建和使用的CF不起作用,因爲它們在nodetool cfstats結果中沒有訪問CF的訪問時間,所以從未清理過並放棄。

8

默認情況下,除非用雙引號括起來,否則CQL3不區分大小寫。嘗試將你的CFNAME放在雙引號中。

SELECT * FROM "CFNAME" LIMIT 1; 

看起來你已經忘記了在創建表

+0

\ @abhi - 對不起,但我指定CF名稱。 OQ編輯。我正在使用,編輯刪除它認爲它是一個元標記或什麼 – NullException 2013-04-22 18:24:32

+0

你能分享你的DESCRIBE COLUMNFAMILIES信息嗎?使用cqlsh – abhi 2013-04-22 18:29:39

+0

cqlsh:ks_prod> DESCRIBE COLUMNFAMILIES; CFtest1 CFtest2 – NullException 2013-04-22 18:35:04

0

你是不是在指定的語句密鑰空間的時間,以實現從API CQL3。

請指定密鑰空間如下:

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

或查詢柱族之前指定密鑰空間通過「使用」聲明cqlsh:

using "keyspace_name" 
+0

跨越cql 2/3和cassandra 1.1.10(CASSANDRA-4363)的大量問題。搬到pycassa。謝謝你們。 – NullException 2013-04-22 20:18:24

+0

@CuriousMind cql是未來(節儉api不會獲得新功能),但它是你的選擇。如果您發佈了一些關於您的密鑰空間的詳細信息(如何創建它等),我可以發佈一些關於您需要做什麼的示例。但無論如何,goodluck! – 2013-04-22 20:32:19

+0

列家庭是使用pycassa作爲我認識的fas創建的。這是滯後代碼。我只是想弄清楚所有未使用的CF,所以我可以放棄它們。如果您還有其他問題,請告訴我。 – NullException 2013-04-23 03:25:14

相關問題