正如ellis先生在dynamic-columns/wide-rows中所述和讨论的,通过地图收集可以实现动态表。但是,我可以看到这只适用于具有相同类型的数据。
链接中的示例:

CREATE TABLE users (
  user_id text PRIMARY KEY,
  name text,
  birth_year int,
  phone_numbers map
);

INSERT INTO users (user_id, name, birth_year, phone_numbers)
VALUES ('jbellis', 'Jonathan Ellis', 1976, {'home': 1112223333, 'work': 2223334444});

家庭和工作电话号码都是整数类型。但我们需要一个包含各种数据类型的集合。说,
创建表存储(mobile_id int primary key,date timestamp,data map);
然后数据包含以下内容:
{'state':字符串,'protocol':整数,'weight':双精度,'frame':blob…}
所以我的问题是,我们有别的选择吗?这对cql有可能吗?

最佳答案

在这个时候,我认为这是不可能的。您最好使用一个包含某种类型信息的字符串
即{'home':'int:1112223333','work':'str:222-333-4444'}
或者使用blob并使用blob类型和特定于语言的序列化将特定于语言的映射保存到cassandra中,以保存变量映射。

10-05 20:58
查看更多