2014-10-17 40 views
1

出於某種原因,我只能使用'cassandra-cli'來執行一些CQL操作。這是我使用的版本:顯示卡桑德拉列族中的所有行和特定行

Welcome to Cassandra CLI version 1.1.10 

而且我用的是卡桑德拉的版本是:

apache-cassandra-1.1.10 

我創建了一個名爲「goldenbuck」密鑰空間和列族稱爲「holytest」那裏面鍵空間。然後我使用Hector API在其中插入一行。

但是,回到從「CLI」卡桑德拉-CLI「檢查列族的內容,這樣的輸出出現:

[[email protected]] SELECT * FROM holytest; 
Syntax error at position 7: unexpected "*" for `SELECT * FROM holytest;`. 

我敢肯定「holytest」有沒有在「goldenbuck」密鑰空間。那麼,怎麼了?我如何獲得'最聖潔的'和特定行中的所有行?

回答

2

您正在使用CLI,它是一個基於節儉的工具,用於與cassandra進行交互。你不能在cassandra-cli中運行CQL查詢。您希望使用cqlsh而不是cli,cql查詢是要在cqlsh shell中執行的。

或者,如果您確實想要使用cli,請通過CLI上的apache wiki page進行閱讀以開始使用它。

在附註...
我的建議,移動到更新版本的cassandra。至少,1.2 ,但最好是2.1,其中CQL得到足夠的關注和努力,使它成爲一個功能達到查詢郎。如果你必須按照需求使用cassandra 1.1,那麼我會堅持使用純粹從性能和功能角度來看的節儉(cql在1.1中並不像現在這樣先進,而且大多數文檔可能會導致混淆你可以做什麼,不可以做什麼)。