【发布时间】:2014-11-13 14:22:19
【问题描述】:
例如,我有数据已经存储到 Cassandra 的 column family playerinfo of keyspace info
在cqlsh 中,有没有办法显示该列族的简要说明?它可以告诉我有多少键和键下的列已经存储在该列族中。
PS:我现在面临的问题是我的程序应该不断将数据推送到 Cassandra,但我注意到在一定时间后似乎没有更多记录成功存储。所以想检查一下列族的内容有没有变化。
【问题讨论】:
例如,我有数据已经存储到 Cassandra 的 column family playerinfo of keyspace info
在cqlsh 中,有没有办法显示该列族的简要说明?它可以告诉我有多少键和键下的列已经存储在该列族中。
PS:我现在面临的问题是我的程序应该不断将数据推送到 Cassandra,但我注意到在一定时间后似乎没有更多记录成功存储。所以想检查一下列族的内容有没有变化。
【问题讨论】:
我不确定从 cqlsh 中执行此操作的方法,但在命令提示符下,您应该能够通过 nodetool cfstats 获取该信息:
$ nodetool cfstats myKeyspace.myColumnFamily
Keyspace: myKeyspace
Read Count: 3
Read Latency: 3.552 ms.
Write Count: 8
Write Latency: 0.321375 ms.
Pending Tasks: 0
Table: myColumnFamily
SSTable count: 1
Space used (live), bytes: 6724
Space used (total), bytes: 6724
SSTable Compression Ratio: 0.2571466917192323
Number of keys (estimate): 128
Memtable cell count: 0
Memtable data size, bytes: 0
Memtable switch count: 1
Local read count: 3
Local read latency: 0.000 ms
Local write count: 8
Local write latency: 0.000 ms
Pending tasks: 0
Bloom filter false positives: 0
Bloom filter false ratio: 0.00000
Bloom filter space used, bytes: 16
Compacted partition minimum bytes: 6867
Compacted partition maximum bytes: 8239
Compacted partition mean bytes: 8239
Average live cells per slice (last five minutes): 5.0
Average tombstones per slice (last five minutes): 6.0
所以在你的情况下,试试$ nodetool cfstats info.playerinfo,看看它是否能满足你的需求。
【讨论】:
您可以尝试以下命令,该命令将给出您的列族的完整描述。
DESCRIBE COLUMFAMILY keyspace.columnfamily(info.playerinfo);
它将给出所有列的列表,包括主键,辅助索引所有内容。
如下所示。
cqlsh:events> DESCRIBE COLUMFAMILY events.standardevents1103;
创建表标准事件1103(uuid uuid PRIMARY KEY,数据 文本、名称文本、时间文本、跟踪器文本、类型文本、用户 ID 文字)与
bloom_filter_fp_chance=0.010000 和
缓存='KEYS_ONLY' AND 注释='' AND
dclocal_read_repair_chance=0.000000 和 gc_grace_seconds=864000 和 read_repair_chance=0.100000 和 replicate_on_write='true' 和
populate_io_cache_on_flush='false' 和
压缩= {'类': 'SizeTieredCompactionStrategy'} 和
压缩={'sstable_compression': 'SnappyCompressor'};
【讨论】: