【发布时间】:2017-03-31 17:11:00
【问题描述】:
我正在努力处理 Cassandra 数据的数据顺序。我有一张这样的桌子
tbl_data
- yymmddhh (text)
- data (text)
分离键是'yymmddhh'
我正在添加这样的数据
'16-11-17-01', 'a'
'16-11-17-01', 'b'
'16-11-17-02', 'c'
'16-11-17-03', 'xyz'
'16-11-17-03', 'e'
'16-11-17-03', 'f'
select * from tbl_data limit 10;
我希望数据按我添加数据的顺序排列。但它给出的数据是这样的
'16-11-17-03', 'f'
'16-11-17-03', 'e'
'16-11-17-01', 'a'
即最新记录优先或随机顺序。我需要与我添加的顺序相同的数据。在我的情况下,我无法弄清楚数据的默认顺序。此外,我不想在 where 条件下传递分区键,因为它会为我记住该值的开销。请给我建议解决方案。
【问题讨论】:
-
在 Cassandra 中,您不能期望按分区键或添加数据的顺序排列数据。 Cassandra 按聚类列排序数据
-
Cassandra 不适用于您的用例。您必须按分区键过滤以对结果集强制执行任何有意义的排序顺序。完整的解释可以在这里找到:datastax.com/dev/blog/we-shall-have-order
标签: cassandra