【问题标题】:Unable to update the schema with cassandra 0.8.2无法使用 cassandra 0.8.2 更新架构
【发布时间】:2011-11-02 12:38:08
【问题描述】:

我有 0.8.2 的单节点 cassandra 安装。我用 cassandra-cli 创建了一些列族,比如

create column family demo;

现在我必须在这个列族上使用二级索引。为此我需要升级架构。当我尝试使用 cassandra-cli 升级它时

update column family demo with comparator=BytesType and column_metadata=[{column_name: col1, validation_class: UTF8Type, index_type: KEYS}];

我收到以下错误消息

org.apache.cassandra.db.marshal.MarshalException: 无法解析 'col1'

我尝试过使用 bytes('col1') ,假设关键字 ,ascii 和 utf8 都不起作用。

十六进制字节

虽然同样的事情在 cassandra 0.8.4 上工作得很好

【问题讨论】:

  • 您是否尝试过使用十六进制值,例如“column_name: 636f6c31”,由于比较器是 BytesType,我相信它需要字节。不知道为什么版本的变化......
  • 我也有同样的想法并尝试使用十六进制值,它可以工作,但是当我尝试使用 where col1='some value' 获取值时,它返回零行。
  • 当您执行 cassandra-cli 'describe demo' 时,您的列族是什么样的?

标签: schema cassandra database-indexes


【解决方案1】:

您回答了自己的问题。这是 0.8.2 中的错误,您应该升级。 (到最新的 0.8 版本,目前是 0.8.7。)

【讨论】:

  • 连0.8.7都不支持这个
  • 我可以通过提供我们必须索引的列的十六进制字节来更新相同的架构。
猜你喜欢
  • 2021-03-21
  • 2020-03-12
  • 2016-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-15
  • 2022-09-26
相关资源
最近更新 更多