【发布时间】:2017-07-27 19:39:15
【问题描述】:
cassandra中有一张桌子
create table test_moments(id Text, title Text, sort int, PRIMARY KEY(id));
如何在“排序”列中添加聚类键。不重新创建表
【问题讨论】:
-
否。我想添加一个用于排序到现有表中的键
cassandra中有一张桌子
create table test_moments(id Text, title Text, sort int, PRIMARY KEY(id));
如何在“排序”列中添加聚类键。不重新创建表
【问题讨论】:
主要问题是磁盘上的数据结构。聚类键直接决定数据如何排序和序列化到磁盘(然后搜索),所以你问的是不可能的。
唯一的方法是将数据“迁移”到另一个表。根据您的数据,如果您有很多记录,您可能会在查询期间遇到一些超时错误,因此请准备好使用一些有用的技术(例如 COPY 命令或 TOKEN 函数)来调整您的迁移。
也请查看this SO 问题。
【讨论】:
您只需将其添加为 PRIMARY KEY 的第二部分,使其成为复合键
create table test_moments(id Text, title Text, sort int, PRIMARY KEY(id, sort));
【讨论】: