Cassandra / CQL:如何改变colium1类型?

时间:2014-08-28 14:27:11

标签: cassandra cql3 datastax

我有一些由trift API创建的现有Cassandra 2.0.0 CF并且希望将来使用Datastax DevCenter 1.1.1和CQL3,所以我尝试将列类型从blob-s更改为更有用的。在特定CF中,所有键和值都只是文本(行键是进程名称,单元名称是文本格式的某种时间戳,值是当时捕获的字符串)。我成功改变了#34; key"类型和"值"输入" text"但是" column1"类型让我成为一个问题。

从DevCenter运行alter table命令时: alter table mycfname。" MyTableName" alter column1 type text; 我正在弹出:     无法在' test'上执行CQL脚本:java.lan.AssertationError

在其他一些论坛上也提出了类似的问题,但从未回答过。 有什么想法吗? 关心佐兰

1 个答案:

答案 0 :(得分:1)

如果新类型与数据不兼容,在插入数据后更改列的类型可能会混淆CQL驱动程序/工具。存储在该列的值中的字节保持不变,如果现有数据无法根据新类型进行反序列化,则CQL驱动程序或接口可能会报告错误。

不允许对列类型进行这些更改:

更改群集列的类型。 更改已定义索引的列。