【问题标题】:Cassandra-CQl : Change Clustering order for Created Column FamilyCassandra-CQl:更改已创建列族的聚类顺序
【发布时间】:2013-08-01 04:06:22
【问题描述】:

我知道我可以在通过 cql 创建表时定义聚类顺序,如下代码:

create table test(
id int,
time timestamp,
value text,
primary key(id,time)) with clustering order by (time desc)

但我想在使用 alter 创建表 test 后更改它的集群:

alter table  test
with clustering order by (item asc)

但我得到了错误。 感谢您的帮助。

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    更改集群顺序需要以不同的顺序重写磁盘上的所有数据。执行此操作的标准方法是将 Spark 与 Cassandra Spark 连接器一起使用:https://github.com/datastax/spark-cassandra-connector

    或者,如果您处于开发过程的早期或者数据量相对较小,您可以使用批量加载器将其放入新表中:https://docs.datastax.com/en/dsbulk/doc/

    【讨论】:

    • 您好,谢谢您的回答!我认为这在最新版本的 Cassandra 中仍然有效?有没有一种简单的批量加载方法?
    • 不客气! 8年后这仍然有用,我有点惊讶。我已经用一些可能有帮助的工具的链接对其进行了编辑。
    • 太棒了!非常感谢您的跟进! :)
    【解决方案2】:

    您也可以将 CQL SELECT 查询更改为 ORDER BY ASC 而无需更改表。

    【讨论】:

      猜你喜欢
      • 2014-03-31
      • 2013-08-27
      • 2012-07-07
      • 2023-03-03
      • 1970-01-01
      • 2012-07-11
      • 2018-08-25
      • 1970-01-01
      • 2012-03-24
      相关资源
      最近更新 更多