1

目前,我的一张表具有以下架构:

id
name
...
country
  - id
  - name
  - city
    - id
    - name

我正在查看 Cassandra 文档,但找不到任何关于如何在列族中表示我的超级列的明确示例或演示。我的代码如下:

CREATE COLUMNFAMILY table (
    id varint,
    name varchar,
    <<regular columns omitted>>
    country ..?,
    PRIMARY KEY = (id)
);
4

1 回答 1

3

您可以创建用户定义类型以将多个数据字段附加到列。

例如,在您的情况下

country
  - id
  - name
  - city
    - id
    - name

可以在 UDT 中表示为

CREATE TYPE mykeyspace.countryudt (
  id uuid,
  name text,
  city map<uuid, text>
);

现在表定义看起来像,

CREATE COLUMNFAMILY table (
    id varint,
    name varchar,
    <<regular columns omitted>>
    country frozen <countryudt>,
    PRIMARY KEY = (id)
);

此处为 UDT 的其他参考。

于 2018-02-11T15:23:49.763 回答