在 Cassandra CQL 中表示超级列
Representing a super column in Cassandra CQL
目前,我的一张表具有以下架构:
id
name
...
country
- id
- name
- city
- id
- name
我查看了 Cassandra 文档,但找不到任何关于如何在列族中表示我的超级列的明确示例或演示。我的代码如下:
CREATE COLUMNFAMILY table (
id varint,
name varchar,
<<regular columns omitted>>
country ..?,
PRIMARY KEY = (id)
);
您可以创建用户定义的类型以将多个数据字段附加到列。
例如,你的情况
country
- id
- name
- city
- id
- name
可以在 UDT 中表示为
CREATE TYPE mykeyspace.countryudt (
id uuid,
name text,
city map<uuid, text>
);
现在 table 定义看起来像,
CREATE COLUMNFAMILY table (
id varint,
name varchar,
<<regular columns omitted>>
country frozen <countryudt>,
PRIMARY KEY = (id)
);
UDT 的额外参考 here。
目前,我的一张表具有以下架构:
id
name
...
country
- id
- name
- city
- id
- name
我查看了 Cassandra 文档,但找不到任何关于如何在列族中表示我的超级列的明确示例或演示。我的代码如下:
CREATE COLUMNFAMILY table (
id varint,
name varchar,
<<regular columns omitted>>
country ..?,
PRIMARY KEY = (id)
);
您可以创建用户定义的类型以将多个数据字段附加到列。
例如,你的情况
country
- id
- name
- city
- id
- name
可以在 UDT 中表示为
CREATE TYPE mykeyspace.countryudt (
id uuid,
name text,
city map<uuid, text>
);
现在 table 定义看起来像,
CREATE COLUMNFAMILY table (
id varint,
name varchar,
<<regular columns omitted>>
country frozen <countryudt>,
PRIMARY KEY = (id)
);
UDT 的额外参考 here。