CQLのように、cassandra CLIを介して主キーの名前を指定することは可能ですか:
create columnfamily test (
my_key_name varchar primary key,
value varchar);
デフォルトでは、cassandra cli は「KEY」という名前の主キーを作成します
お探しの属性は ですkey_alias
。残念ながら、現在 cassandra-cli で設定することはできず、cqlsh でのみ設定できます。これを修正するために、 CASSANDRA-4158を開きました。
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 = [];
以下は、Datastax Web サイト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 からの「help assume;」です。指図
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.