gpt4 book ai didi

nosql - 使用 cassandra-cli 创建两个复合列

转载 作者:行者123 更新时间:2023-12-01 14:55:43 25 4
gpt4 key购买 nike

我的列族需要两个复合列,关键数据类型是BytesType。

这是使用 CQL 定义的表:

CREATE TABLE stats (
gid blob,
period int,
tid blob,
sum int,
uniques blob,
PRIMARY KEY(gid, period, tid)
);

我想做的是使用 Cassandra CLI 创建列族。这是我的镜头。

第一个复合体的结构是:

CompositeType(Int32Type, BytesType, AsciiType)

它将保存一个整数。

第二个复合体的结构是:

CompositeType(Int32Type, BytesType)

并将保存 BytesType。

create column family stats with comparator = 'CompositeType(Int32Type, BytesType, AsciiType)';

我不确定如何在创建列族命令中定义第二个复合列。

当然,我假设使用 CQL 创建的表将生成两个复合列。

最佳答案

在 cassandra 中,一个列族上只能有一个比较器。这意味着您在列族中也只能有一种类型的复合列。您使用的 CQL 语句创建的表实际上将使用您提到的第一个复合类型比较器:

CompositeType(Int32Type, BytesType, AsciiType)

由于复合 Material 末尾的“AsciiType”组件,该比较器可以描述您的所有架构。列名的这一部分将包含文字字符串“sum”或“uniques”,并且列值将相应地匹配类型。

使用 json 样式表示法的示例:

<bytes> : {                               # a row key in your stats column family
(100, <bytes>, "sum") : 100, # one column in your row
(100, <bytes>, "uniques") : <bytes>,
(200, <bytes>, "sum") : 200,
(200, <bytes>, "uniques") : <bytes>
}
<bytes> : { # another row in the cf
...
}

关于nosql - 使用 cassandra-cli 创建两个复合列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11243825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com