我是 cassandra 的新手,我正在尝试创建一个架构,该架构将允许我将一行作为
users: {
name: <value>,
...
phone_numbers:1: <value>,
phone_numbers:2: <value>,
...
phone_numbers: <value>
}
我一直在阅读有关复合列的内容,并且只能找到主键是复合列的示例。那么是否可以在一张 CF 中包含上述内容?
我的尝试是:-
create column family users with comparator=AsciiType
and key_validation_class=AsciiType
and column_metadata=[
{column_name: name, validation_class: AsciiType, index_type: KEYS},
{column_name: phone_numbers, validation_class: CompositeType(AsciiType, IntegerType), index_type: KEYS}];
以上失败。 任何帮助表示赞赏 干杯
最佳答案
cassandra 中的 CompositeType 可以用作 comparator
[列名类型] 或 key_validation_class
[行键类型],但不能用作 default_validation_class
[列值的类型]
create column family users with
comparator='CompositeType(UTF8Type, IntegerType)'
and key_validation_class='UTF8Type'
应该适合你。我分享了详细的post关于 cassandra 中的复合类型
关于Cassandra:创建 CompositeType 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13006604/