映射Cassandra超级列

Lau*_*ein 9 cassandra super-columns

我想与Cassandra一起玩过的每个人都已经读过这篇文章了.

我试图在CassandraCli上创建我的架构,但是我遇到了很多问题,有人可以指导我正确的方式吗?我试图创建一个类似于文章中的注释列系列的结构.

在CassandraCli终端我输入:

create column family posts with column_type = ‘Super’ and comparator = ‘AsciiType’ and subcomparator = TimeUUIDType;
Run Code Online (Sandbox Code Playgroud)

它工作正常,没有文档告诉我,如果我添加一个column_metadata属性,那将是超级列因为我的列系列是超类型,我找不到它是否为真所以:

create column family posts with column_type = ‘Super’ and comparator = ‘AsciiType’ and subcomparator = ‘TimeUUIDType’ and column_metadata = [{column_name:'body'}];
Run Code Online (Sandbox Code Playgroud)

我试图创建与文章的评论列系列相同,但当我尝试填充

set posts['post1'][timeuuid()][body] = ‘Hello I am Goku!’;
Run Code Online (Sandbox Code Playgroud)

我有:

无效的UUID字符串:正文

我猜是因为我选择的子计算器是timeuuid类型,而body是一个字符串,它应该是一个timeuuid,所以我的列在超级列里面的类型timeuuid可以保存带有字符串类型名称的列作为文章的注释被创造了吗?

谢谢

Tyl*_*bbs 5

我认为你切换了comparator_type和subcomparator_type适用的内容.在超级列族中,comparator_type适用于超级列名称,subcombparator_type适用于子列名称.

切换比较器类型,你的第一个例子应该工作.


yfe*_*lum 0

你尝试过引用'body'吗?

\n\n
set posts['post1'][timeuuid()]['body'] = \xe2\x80\x98Hello I am Goku!\xe2\x80\x99;\n
Run Code Online (Sandbox Code Playgroud)\n