我们来自关系型数据库背景,我们正在尝试将现有的数据存储迁移到Cassandra,以利用分布式数据库的强大功能。
我们的要求是根据键存储值,可能的键是时间(计划使用epoch时间),并检索键范围内的值。
为了进行测试,我们已经创建了ColumnFamily,并使用cql(通过)插入了数据:
但是我们的选择语句未能返回正确的数据。
为了进行测试,我们已经创建了ColumnFamily,并使用cql(通过)插入了数据:
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 |
这段内容是关于IT技术的,它展示了一个表格。表格中有三列,分别是“KEY”,“val1”和“val2”。接下来的两行是具体的数值数据。这个表格可以用于存储和比较数据。select * from Log where KEY>4 and KEY<9;
错误请求:起始键的MD5排序在结束键的MD5之后。这是不允许的;在RandomPartitioner下,您可能根本不应该指定结束键。
我们做错了什么吗?有没有办法使用randompartition选择一个键范围内的值?