我仍然不明白我应该如何编写一个带有复合键的 RangedSliceQuery。周围的其他问题不是太笼统。
我的表中的主键是 PRIMARY KEY (Year int, Month int, DayofMonth int, UniqueCarrier varchar, FlightNum int)),还有 20 列。我应该如何创建复合变量?我应该如何设置开始和结束?我的目标是使用 RangedSliceQuery 对表格进行分页。
由于看起来您正在使用 CQL 来定义密钥,因此这会创建一个复合 CQL 密钥,而不是复合 Cassandra 密钥。RangedSliceQuery 将使用 Cassandra(存储级别)键,根据这篇文章,它将是主键的第一个元素。所以这会影响你在 Hector 中执行 RangeQuery 的方式。该博客文章还描述了数据的 CQL 查询,您也可以在您的情况下使用这些查询。
如果您创建 Cassandra 键是 Composite 的模式,那么您将像任何其他模式一样选择开始和结束值,只是类型是 Composite。您如何遍历密钥受您选择的分区的影响,即顺序保留 (OPP) 或随机 (RP)。