5

是否可以通过 cassandra CLI 指定主键的名称,例如通过 CQL:

create columnfamily test (
  my_key_name varchar primary key,
  value varchar);

默认情况下,cassandra cli 创建名为“KEY”的主键

4

3 回答 3

3

您要查找的属性是key_alias. 不幸的是,您目前无法通过 cassandra-cli 进行设置,只能通过 cqlsh 进行设置。我已经打开CASSANDRA-4158来解决这个问题。

于 2012-04-17T03:19:59.247 回答
1

通过 CLI 创建或更新列族时,您可以指定 column_metadata 以识别类型(验证类)和/或列是否具有索引。例如,假设您已经创建了测试列族,并希望将列my_key_name指定为索引的字符串类型:

update column family test
 with column_metadata =
  [
   {column_name: 'my_key_name', validation_class: UTF8Type, index_type: KEYS}
  ];

如果您想稍后删除索引

update column family test with column_metadata = [];
于 2012-04-16T15:29:55.210 回答
0

这是 Datastax 网站http://www.datastax.com/dev/blog/schema-in-cassandra-1-1上与 Cassandra 1.1 模式相关的博客文章中的 CQL 示例

CREATE TABLE users (
    id uuid PRIMARY KEY,
    name varchar,
    state varchar
);

我只使用了 0.7.x,您可以在其中指定键的数据类型。以下来自 0.7.6 cassandra-cli “帮助假设;” 命令

assume <column_family> keys as <type>;

Assume one of the attributes (comparator, sub_comparator, validator or keys)
of the given column family to match specified type. Available types: bytes, integer, long, lexicaluuid, timeuuid, utf8, ascii.
于 2012-04-14T11:29:41.483 回答