schema - 当我更新 Cassandra 列元数据时,为什么会收到无效的 UUID 字符串?

标签 schema cassandra command-line-interface cassandra-0.7

我正在尝试在 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/

相关文章:

ruby-on-rails - rails 数据库 :structure:dump has incorrect search paths

sql-server - Facebook 的 DB 模式,如 Wall + "Shared links"

sql - 用于组织历史股票数据的数据库模式

windows - 命令行 - 等待进程完成

php - Windows 上的 Doctrine Cli

xml - 如何设置 XML 命名空间的嵌套使用

java - Titan Cassandra 多线程事务锁定

cassandra - 无法确定 DSE_ENV

cassandra - 在 cassandra 上禁用压缩和 gc 宽限期

c - 在 C 中使用 getchar() 退格和多字节字符