Cassandra:创建 CompositeType 列

标签 cassandra composite cql

我是 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/

相关文章:

cassandra - 在 CQL 中使用元组操作对分区行进行切片

Cassandra 键空间不会传播到新添加的节点(在之前成功添加和删除之后)

cassandra - Cassandra 修复后要注意什么

python - 为什么需要 Python 来安装 Cassandra

cassandra - 读取路径和压缩偏移映射

java - 复合设计模式图草图

Cassandra cqlsh 报告使用一致性的错误请求

java - 如何在复合 SWT Java 中居中标签

java - Java Composite 的层次结构问题

cassandra - 如何保持cassandra中多个表的数据一致性?