Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nosql Cassandra CQL时间范围查询_Nosql_Cassandra_Bigdata_Cql - Fatal编程技术网

Nosql Cassandra CQL时间范围查询

Nosql Cassandra CQL时间范围查询,nosql,cassandra,bigdata,cql,Nosql,Cassandra,Bigdata,Cql,我有一个Cassandra列系列,其中每月存储大量(数十万)事件,时间戳(“Ymdhisu”)作为行键。它有多个列,为每个事件捕获一些数据。我尝试检索特定时间范围内的事件数据。例如,对于一月,我使用了以下CQL查询: a) 查询范围为2013年1月1日至1月15日 从测试中选择count(*),其中Key>2013010100000000和Key< 2013011507100000000限额100000;错误请求:启动密钥的md5排序 在结束键的md5之后。这是不允许的;你可能不应该 在Rand

我有一个Cassandra列系列,其中每月存储大量(数十万)事件,时间戳(“Ymdhisu”)作为行键。它有多个列,为每个事件捕获一些数据。我尝试检索特定时间范围内的事件数据。例如,对于一月,我使用了以下CQL查询:

a) 查询范围为2013年1月1日至1月15日

从测试中选择count(*),其中Key>2013010100000000和Key< 2013011507100000000限额100000;错误请求:启动密钥的md5排序 在结束键的md5之后。这是不允许的;你可能不应该 在RandomPartitioner下指定结束键

b) 查询范围为2013年1月1日至1月10日

从测试中选择count(*),其中Key>2013010100000000和Key< 201301110070100000000限额100000;计数-73264

c) 查询范围为2013年1月1日至1月2日

从测试中选择count(*),其中Key>2013010100000000和Key< 2013010207010000000限额100000;计数-78328

似乎范围搜索根本不起作用!我的Columnfamily的架构是:

Create column family Test with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type AND compression_options={sstable_compression:SnappyCompressor, chunk_length_kb:64};
要提取数据,有什么建议?我是否需要将密钥验证类重新定义为TimeUUID类型的模式?有没有其他方法可以在不更改模式的情况下高效查询?
在这个专栏系列中,我每月处理至少10-20万行数据。如果此模式不适用于此目的,那么存储和检索此处描述的数据类型的合适Cassandra模式是什么?

您可以创建二级索引,如“日期”和“月份”,并将每个事件的日期和月份与其他数据一起存储在这些列中。查询数据时,可以获取指定月份或天数内的所有行


我认为对键的范围查询不起作用。也许如果您将分区器从RandomPartitioner更改为ByteOrderedPartitioner?

谢谢您的回复!我希望能够使用Cassandra timestamp进行时间范围查询,而不是添加静态列“date”和“month”。卡桑德拉用每一条记录更新时间戳。这将为我节省更新模式和使用CQL从当前数据库池检索数据的额外成本