我知道当我通过 cql 创建表时可以定义聚类顺序,如下代码:
create table test(
id int,
time timestamp,
value text,
primary key(id,time)) with clustering order by (time desc)
但我想在使用alter创建表测试后更改集群:
alter table test
with clustering order by (item asc)
但我得到了错误。谢谢你的帮助。
更改集群顺序需要以不同的顺序重写磁盘上的所有数据。执行此操作的标准方法是将 Spark 与 Cassandra Spark 连接器一起使用:https ://github.com/datastax/spark-cassandra-connector
或者,如果您处于开发流程的早期或者数据量相对较少,您可以使用批量加载器将其放入新表中:https ://docs.datastax.com/en/dsbulk/doc/
您还可以将 CQL SELECT 查询更改为 ORDER BY ASC 而无需更改表。