在我们的 Cassandra 表中,每次我们更改“集合类型”列的数据类型时,都会引发问题。例如:
为了将数据类型从 更改为text
,Map<text,float>
我们这样做:
- 删除现有列
- 等待 cassandra 吸收这种变化。
- 添加列(相同名称)但不同的数据类型。
这在所有节点中都反映得很好,但是 Cassandra 日志在压缩期间开始抱怨:
RuntimeException: 6d6...73 未定义为集合
我发现表中的comparator
条目不正确"system.schema_columnfamilies"
。删除表并重新创建它可以解决问题,但并非总是可行。
当我们在上述情况下处理集合类型列时,是否有一些最佳实践?
数据库版本:DataStax-Enterprise:4.7.1 Cassandra 2.1.8.621
cqlsh 5.0.1