我正在尝试在 Cassandra 0.7 中定义架构,并且希望能帮助解决我遇到的问题。我在cassandra-cli中设置了一个 super 列族:
create column family SimulationSummary with column_type='Super' and comparator='LexicalUUIDType'and subcomparator='TimeUUIDType';
此操作已成功完成。但是,当我尝试使用元数据更新列族时:
update column family SimulationSummary with column_metadata=
... [{column_name: underlying, validation_class:BytesType}];
我收到错误消息:
Invalid UUID String: underlying
这是其他几个列族(有些不是 super 列族)的代表性问题。
我有几个可以正常工作的列族元数据更新,但我无法确定为什么有些条目可以正常工作,而其他条目则不能。例如以下内容是成功的:
create column family User
with comparator='UTF8Type';
update column family User with column_metadata=
[
{column_name: email, validation_class:UTF8Type},
{column_name: given_name, validation_class:UTF8Type},
{column_name: surname, validation_class:UTF8Type}
];
最佳答案
你说comparator='LexicalUUIDType'。这意味着列名必须是 UUID。 “underlying”不是 UUID,因此它不是有效的列名称。
在工作示例中,比较器是 UTF8,并且您使用的所有列名称确实是 UTF8 字符串。
关于schema - 当我更新 Cassandra 列元数据时,为什么会收到无效的 UUID 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5241634/