作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试重命名通过 CQLSH 创建的表。
例如。将表“AAA”重命名为“BBB”。找不到任何命令来执行此操作。有任何想法吗?
使用 [cqlsh 3.1.6 | Cassandra 1.2.8 | CQL 规范 3.0.0 |节俭协议(protocol) 19.36.0]
最佳答案
如果我没记错的话,我不相信您可以重命名表或键空间,没有 CQL3 操作可以做到这一点,旧的 Thirft 接口(interface)中也没有任何内容。
您不能这样做的一个原因是,由于 Cassandra 的分布式特性,这将是一件极其困难的事情,更改不能以原子方式完成,因此集群将处于不一致状态,并且很可能更新将是丢失。它类似于创建和删除表,但在这些情况下,如果在创建表之前或删除表之后发出更新,则预计会丢失更新。
我知道按照您的要求做的唯一方法是创建新表并将所有数据从旧表移动到新表,然后删除旧表。可能有一种方法可以在不移动数据的情况下执行此操作,但可能需要您停止集群并更改属于该表的所有目录和文件的名称,并更改 system.schema_columnfamilies
中的元数据。表(但我不确定你甚至可以做到这一点)。
关于cassandra - 如何在 Cassandra CQL3 中重命名表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18112384/
我是一名优秀的程序员,十分优秀!