Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra列表列名称_Cassandra - Fatal编程技术网

Cassandra列表列名称

Cassandra列表列名称,cassandra,Cassandra,我将照片存储在列表cql3列中。我可以轻松地从cql3查询列表,但我还需要了解Cassandra存储模型如何处理列表,以便能够使用JMX bulkLoad服务将数据输入Cassandra。如果我将一些测试数据插入如下列表: insert into dat.lgr (id, photos) values (0, [0xaa, 0xbb]); => (column=photos:2fce75c0fe9811e2ab248b7126053a99, value=aa, timestamp=137

我将照片存储在列表cql3列中。我可以轻松地从cql3查询列表,但我还需要了解Cassandra存储模型如何处理列表,以便能够使用JMX bulkLoad服务将数据输入Cassandra。如果我将一些测试数据插入如下列表:

insert into dat.lgr (id, photos) values (0, [0xaa, 0xbb]);
=> (column=photos:2fce75c0fe9811e2ab248b7126053a99, value=aa, timestamp=1375794036508000)
=> (column=photos:2fce75c1fe9811e2ab248b7126053a99, value=bb, timestamp=1375794036508000)
使用cli查询时,结果数据如下所示:

insert into dat.lgr (id, photos) values (0, [0xaa, 0xbb]);
=> (column=photos:2fce75c0fe9811e2ab248b7126053a99, value=aa, timestamp=1375794036508000)
=> (column=photos:2fce75c1fe9811e2ab248b7126053a99, value=bb, timestamp=1375794036508000)

因此,看起来Cassandra实际上为列表中的每个元素存储了一列,由集合名和未知十六进制数组成的复合列名标识。该数字可能是一个64位哈希,或两个32位哈希加在一起。但是什么被散列了?我看了源代码,但什么也没找到。感谢您的帮助。

我建议列表项的列名为UUID。至少这两个值都表示有效日期“2013年8月6日星期二格林威治标准时间下午1:00:36”(例如,请尝试中的“2fce75c0-fe98-11e2-ab24-8b7126053a99”)


这很容易验证-只需截断表并重复相同的语句。如果我的猜测正确,相同数据的列名将完全不同。

是的,它们是time UUID的。谢谢。我在中找到了生成它们的代码,因此我有一些不错的方法可以使用。但是,由于我的cf的比较器只是UTF8,所以我很抱歉当我尝试添加一个带有comparator UTF8:TimeUUID的列时,AbstractsTablesImpleWriter出现了错误。你知道吗?@Axex\h我想只有一个二进制comparator可以工作。顺便说一句,这个问题可能会让你感兴趣:。基本上,如果你使用这个列表,你将无法从中只选择一项。我认为,最好使用照片的一些显式ID作为主键的一部分(它可能仍然是TimeUUID)。它允许根据ID选择、更新或删除任何项目。没关系,我已经对其进行了排序。使用了二进制比较器。感谢您的帮助。在尝试使用复合类型作为非复合行键时,也遇到了一个完全不相关的问题。我也查看了这个问题。我的用例是为给定ID提取所有照片,但有时会ld需要按id删除一张照片,所以我有一个列表。或者没有…协议只支持包含[短字节]元素的列表,不适合JPEG Blob。