我們來自RDBMS背景,我們試圖做的是將現有數據存儲移植到cassandra,以利用分佈式數據庫的強大功能。 我們的要求是存儲相對於某個鍵的值,可能鍵是時間(計劃使用紀元時間)並檢索鍵範圍內的值Cassandra Cql範圍選擇
對於測試,我們創建了ColumnFamily並使用cql插入了Data (通過cqlsh
):
CREATE COLUMNFAMILY Log(KEY int PRIMARY KEY,Val1 varchar,Val2 varchar);
INSERT INTO Log (KEY,val1, val2) VALUES (1,'673153106.00','448768737.33');
INSERT INTO Log (KEY,val1, val2) VALUES (2,'673153106.50','448768737.67');
INSERT INTO Log (KEY,val1, val2) VALUES (3,'673153107.00','448768738.00');
INSERT INTO Log (KEY,val1, val2) VALUES (4,'673153107.50','448768738.33');
INSERT INTO Log (KEY,val1, val2) VALUES (5,'673153108.00','448768738.67');
INSERT INTO Log (KEY,val1, val2) VALUES (6,'673153108.50','448768739.00');
INSERT INTO Log (KEY,val1, val2) VALUES (7,'673153109.00','448768739.33');
INSERT INTO Log (KEY,val1, val2) VALUES (8,'673153109.50','448768739.67');
INSERT INTO Log (KEY,val1, val2) VALUES (9,'673153110.00','448768740.00');
INSERT INTO Log (KEY,val1, val2) VALUES (10,'673153110.50','448768740.33');
但我們的選擇沒有返回正確的數據
select * from Log where KEY>4 and KEY<9;
KEY | val1 | val2 | 10 | 673153110.50 | 448768740.33 | 8 | 673153109.50 | 448768739.67 |
select * from Log where KEY>4 and KEY<9;
請求無效:結束鍵的MD5後,按開始鍵的MD5排序。這不是允許的 ;你可能不應該指定結束鍵可言,下 RandomPartitioner
難道我們做錯了什麼?。就是有什麼解決方法使用randompartition