gpt4 book ai didi

Cassandra:如何在 super 列族中创建列?

转载 作者:行者123 更新时间:2023-12-05 00:02:12 24 4
gpt4 key购买 nike

我在模式文件中定义我的数据库模型,以便以后从头开始轻松创建键空间和列族。我查看了 Cassandra 发行版附带的 schema-sample.txt,它展示了如何使用 column_metadata 创建标准列族,例如:

create column family User
with comparator = UTF8Type
and default_validation_class = UTF8Type
and column_metadata = [
{column_name : name, validation_class : UTF8Type}
{column_name : username, validation_class : UTF8Type}
{column_name : City, validation_class : UTF8Type}
];

但是如何使用类似的语法来创建 super 列族?我想定义我将放入 super 列族的 super 列的列名。

最佳答案

要创建 super 列族,您只需要添加 column_type 属性:

create column family User
with column_type = 'Super'
and comparator = UTF8Type
and default_validation_class = UTF8Type;

您无法在元数据中定义 super 列的名称。元数据用于验证列值或创建索引。由于您无法验证 super 列的值(该值是更多列)并且您无法在 super 列上创建索引,因此没有理由为它们设置元数据。

您可以使用 super 列创建有关子列的元数据,但它将应用于行中的所有 super 列。例如:
create column family User
with column_type = 'Super'
and comparator = UTF8Type
and default_validation_class = UTF8Type
and column_metadata = [
{column_name : name, validation_class : UTF8Type}
{column_name : age, validation_class : LongType}
];

在这个 super 列族中,任何名为“name”的子列都必须是 UTF8,任何名为 age 的子列都必须是 long。

关于Cassandra:如何在 super 列族中创建列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8349417/

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