如何在Cassandra 3.3中获取原始行内容
我使用Cassandra 3.3和CQL创建下表如何在Cassandra 3.3中获取原始行内容,cassandra,cassandra-cli,Cassandra,Cassandra Cli,我使用Cassandra 3.3和CQL创建下表 CREATE TABLE collected_data ( collection_hour int, source_id int, entity_id int, measurement text, value text, primary key((collection_hour),source_id,entity_id,measurement) ); 在这个表中插入一组值之后,我想看
CREATE TABLE collected_data (
collection_hour int,
source_id int,
entity_id int,
measurement text,
value text,
primary key((collection_hour),source_id,entity_id,measurement)
);
在这个表中插入一组值之后,我想看看每一行在Cassandra中是如何存储的。为此,我已经看到人们在使用cassandra cli(list命令),但这在3.3(3.0之后)中不再可用
有没有一种方法可以用来查询cassandra以查看每一行的实际存储情况?我正在寻找一些工具或任何方式来做这从CQL
多谢各位
PS:在cassandra CLI中,可以使用“list命令”并获得类似于以下内容的输出(当然是不同的表):
自Cassandra 3.0以来,存储引擎已被重写,因此磁盘布局已完全改变 没有关于这个主题的官方文档,但是您可以查看源代码中的几个地方,以全面了解数据是如何放置在磁盘上的
未筛选序列化程序
:
单元
存储:
ClusteringPrefix
:您可以使用Datastax DevCenter进行此操作。我曾尝试使用DevCenter进行此操作,但不幸的是,我找不到实现此操作的方法。DevCenter可以在…中打印表格内容。。。。好。。表格格式--X行X Y列,这不是我要找的。我需要存储在Cassandra中的原始格式。我需要这个来确保我正确理解数据是如何存储的。。。谢谢你的快速回答。看起来,数据在3.0+中的存储方式确实发生了重大变化,其中一些详细信息见。谢谢
RowKey: 1
=> (column=, value=, timestamp=1374546754299000)
=> (column=field2, value=00000002, timestamp=1374546754299000)
=> (column=field3, value=00000003, timestamp=1374546754299000)
RowKey: 4
=> (column=, value=, timestamp=1374546757815000)
=> (column=field2, value=00000005, timestamp=1374546757815000)
=> (column=field3, value=00000006, timestamp=1374546757815000)