我正在尝试将列的类型从UUID更改为TIMEUUID,但我无法这样做。
ALTER TABLE Person ALTER KEY TYPE timeuuid;
错误:
错误请求:无法将类型从uuid类型更改为类型timeuuid:类型不兼容。
如何在不丢失列族数据的情况下实现这一目标?
答案 0 :(得分:2)
不允许。这是因为TimeUUID具有与常规UUID不同的排序模式,因此Cassandra不允许这样做。如果您不关心按时间排序的列,则可以在应用程序中生成和使用TimeUUID,而无需更改Cassandra中的列类型,但如果与现有列混合,则排序可能会出现故障。如果您绝对需要这样做,那么您唯一的选择就是迁移现有数据并将其列更改为UUID到新的列族。