如何使用空前缀支持CQL3中的复合列名称

时间:2013-11-20 13:09:54

标签: cassandra cql3

在thrift中,您可以使用表单字符串的复合列:bytearray和integer:bytearray和decimal:bytearray。一旦定义,您可以将值存储为整数:bytearray,如此

{empty}.somebytearray
{empty}.somebytearray
5.somebytearray
10.somebytearray

然后我可以查询并获取所有以{empty}为前缀的列。

这似乎无法在CQL3中完成,因此我们目前无法将代码移植到CQL3?是否有这样的票或将解决所有问题。

感谢, 迪安

1 个答案:

答案 0 :(得分:0)

空列名称不为空。

一个很好的例子是cql3行标记,当通过sstable2json导出时,它看起来像这样:

                               //<--- row marker ----->
{"key": "6b657937","columns": [["","",1375804090248000], ["value","value7",1375804090248000]]}

看起来列名是空的,但它是一个包含3个组件的字节数组。所以说我们要添加一个空名称的列:

                       // column name
columnFamily.addColumn(ByteBuffer.wrap(new byte[3]), value, timestamp);