我将照片存储在列表 cql3 列中。我可以从 cql3 轻松查询列表,但我还需要了解 Cassandra 存储模型如何处理列表,以便能够使用 JMX bulkLoad 服务将我的数据导入 Cassandra。如果我将一些测试数据插入到这样的列表中:
insert into dat.lgr (id, photos) values (0, [0xaa, 0xbb]);
使用 cli 查询的结果数据如下所示:
=> (column=photos:2fce75c0fe9811e2ab248b7126053a99, value=aa, timestamp=1375794036508000)
=> (column=photos:2fce75c1fe9811e2ab248b7126053a99, value=bb, timestamp=1375794036508000)
所以看起来 Cassandra 实际上为列表中的每个元素存储了一个列,由包含集合名称和未知十六进制数字的复合列名称标识。该数字可能是一个 64 位散列,或两个 32 位散列附加在一起。但是什么被散列了?我查看了源代码,但一无所获。任何帮助表示赞赏。