我创建了一个像这样的cassandra表,其中包含了大量的信息:
CREATE TABLE keyspace.table1 (
uuid blob,
id bigint,
timestamp bigint,
description text,
option1 double,
PRIMARY KEY (uuid, id) ) WITH CLUSTERING ORDER BY (id ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';我试图在其上运行nodetool以确定行计数。我在网上搜索,似乎这个数目的键(估计)应该是行计数。但是,这个数字很低,如下所示,所以我知道这是不对的。我做错了什么?
Table: table1
SSTable count: 3
Space used (live): 195.02 MB
Space used (total): 195.02 MB
Space used by snapshots (total): 567.99 KB
Off heap memory used (total): 61.83 KB
SSTable Compression Ratio: 0.3936987749701019
Number of keys (estimate): 19
Memtable cell count: 612048
Memtable data size: 14.18 MB
Memtable off heap memory used: 0 bytes
Memtable switch count: 6
Local read count: 2657130
Local read latency: 0.055 ms
Local write count: 2409743
Local write latency: 0.017 ms
Pending flushes: 0
Bloom filter false positives: 0
Bloom filter false ratio: 0.00000
Bloom filter space used: 64 bytes
Bloom filter off heap memory used: 40 bytes
Index summary off heap memory used: 84 bytes
Compression metadata off heap memory used: 61.71 KB
Compacted partition minimum bytes: 49.82 KB
Compacted partition maximum bytes: 85.8 MB
Compacted partition mean bytes: 27.06 MB
Average live cells per slice (last five minutes): 1.0160752060827343
Maximum live cells per slice (last five minutes): 5722
Average tombstones per slice (last five minutes): 1.0
Maximum tombstones per slice (last five minutes): 1如果这是不可能的,那么还有其他方法来获取表的行计数吗?
谢谢
发布于 2016-06-07 17:49:45
从您的架构中,分区键是您的uuid列。每个分区键都是卡桑德拉存储引擎的“行”。因此cfstats只是简单地输出存储在此表中的分区键数(当然是估计的)。
我会检查并查看您的系统中有多少不同的UUID,如果它在19左右,那么一切都很好。
发布于 2016-06-07 17:50:02
它不是“行”的数目,而是如果键或分区的数目。在您的数据模型中,它将是唯一的uuid的数量。请注意,对于2.0,这个数字可以被略为忽略,它将汇总所有存储库中的分区数。员额2.1.6将合并一个超逻辑日志结构,这样跨马厩的重复不会影响它。
要获得实际需要读取数据的CQL行,可以使用计数或spark作业,这些操作非常昂贵,因此可能需要考虑在其中保留一个带有计数器的替代表。
https://stackoverflow.com/questions/37685816
复制相似问题