2014-08-29 45 views
1

我使用Cassandra 2.0和CQL3作爲查詢語言。 如果省略了LIMIT值,則Cassandra通常對於SELECT語句的LIMIT值的默認值爲10,000。 是否可以查詢一個列族的所有行,而不管將返回多少行? 還是必須將LIMIT值設置爲非常高的值以確保獲得所有行? Thx!Cassandra CQL3 Select語句無限制

回答

6

這是一個常見的誤解。交互式shell在cqlsh中只有默認10000行限制。服務器和協議沒有可以返回的默認或最大行數。儘管會有一個超時,但會停止運行查詢,以防止用戶運行格式錯誤的查詢,這可能會導致系統不穩定。

要從表中獲取所有信息,最好的工具通常是一個獨立的分析引擎,如spark。如果數據足夠小,則可以使用分頁,這將在您的查詢中返回部分數據,而不是同時返回整個數據。幾乎所有的現代司機都支持分頁。還有一些工作可以將它添加到cqlsh中,該工具很快就會在2.1分支中準備好。

+1

+1對COPY 2.1所做的更改聽起來就像他們已經取得了重大進展:https://issues.apache.org/jira/browse/CASSANDRA-7405 – Aaron 2014-08-29 14:41:31

-1

根據文件,你不能。 如何計算行數然後在限制表達式中使用此值?