Hector:如何查询复合类型的各个部分



我使用CompositeType存储的数据如下所示:

RowKey: 101390
=> (column=1320987600000:P:350.0:symbol, value=AAPL/F6LbE.O, timestamp=1320771711561000)
=> (column=1320987600000:P:355.0:symbol, value=AAPL/F6LfE.O, timestamp=1320771711569000)
=> (column=1320987600000:P:360.0:symbol, value=AAPL/F6LjE.O, timestamp=1320771711576000)
=> (column=1320987600000:P:365.0:symbol, value=AAPL/F6LnE.O, timestamp=1320771711586000)
=> (column=1320987600000:P:370.0:symbol, value=AAPL/F6LrE.O, timestamp=1320771711592000)
=> (column=1320987600000:P:460.0:symbol, value=AAPL/F6LzF.O, timestamp=1320771711607000)
=> (column=1320987600000:C:350.0:symbol, value=AAPL/FuLbE.O, timestamp=1320771712117000)
=> (column=1320987600000:C:355.0:symbol, value=AAPL/FuLfE.O, timestamp=1320771712120000)
=> (column=1320987600000:C:360.0:symbol, value=AAPL/FuLjE.O, timestamp=1320771712123000)
=> (column=1320987600000:C:365.0:symbol, value=AAPL/FuLnE.O, timestamp=1320771712128000)
[timestamp: type: price: attribute_name]

是否可以使用SliceQuery查询1、2或所有部件?

  • 例如,我想从时间戳T1 -> T2(工作良好)查询
  • 还需要说明时间戳T1 -> T2和类型= "C",只有"C"
  • 时间戳T1 -> T2,类型= "C" AND价格= "365.0"

是否可以以这种方式查询组合的部分?在我的测试中,到目前为止,我还不能和组合似乎被比较,如果它只是一个长字节数组-而不是单独的组件。

来自ML的回答:这里有一个这样的例子,它已经开始了一半。应该请在评论中留下足够的信息:https://github.com/zznate/cassandra-tutorial/blob/master/src/main/java/com/datastax/tutorial/StaticCompositeIndex.java

如果有帮助请告诉我。

是的,您可以搜索组合的某些部分。如果您使用的是Cassandra 0.8.1及以上版本,则需要在模式中将比较器指定为"CompositeType"。以下是使用CompositeType进行编程范围查询的完整教程:http://randomizedsort.blogspot.com/2011/11/cassandra-range-query-using.html

相关内容

最新更新