2017-06-15 83 views
0

我試圖從卡桑德拉排序由時間導致卡桑德拉

得到一些時間序列數據

我的表呈現在畫面,當我詢問,我得到的數據作爲提出未來: 首先我」當我將它們插入Cassandra時,無論何時都會看到所有虛假數據,接下來我會看到所有的真實數據。 我的問題是:當我插入數據時,如何按時間排序或漫遊數據,以便我能夠在插入數據時順序獲取數據。

當我嘗試「通過c2從table1順序選擇c1」時,出現以下錯誤「ORDER BY僅在分區鍵被EQ或IN限制時支持。

謝謝 My boolean table

回答

0

假設你的模式是這樣的:

CREATE TABLE table1 (
c1, 
c2, 
PRIMARY KEY (c1)) 

這將導致你的表2個分區(C1 =真,C1 = FALSE)。每個分區將由單個節點管理。

您的初始查詢將跨所有分區從您的表中檢索數據。因此,它將轉到第一個分區,然後檢索所有行,然後檢索所有行,這就是爲什麼您會看到您所做的結果。

Cassandra僅針對跨一個分區檢索數據進行了優化,因此您應該考慮調整模式以允許在查詢中使用ORDER BY,但只需要在一個分區上檢索數據。

根據您的使用情況,您可以查看分段數據或在應用程序中執行排序。

+0

亞歷克謝謝你的回答。在我的表中,c1是布爾值,c2是時間戳。但我想我已經找到了解決方案 – Henrik