2014-12-19 16 views
5

BenSıkıştırmada ne demek rows_merged?

$ nodetool compactionhistory 

sorunu ben

. . . compacted_at  bytes_in  bytes_out  rows_merged 
. . . 1404936947592  8096   7211   {1:3, 3:1} 

{1:3, 3:1} ne demektir olsun? bulabilirim sadece dokümantasyon

bölümü sayısının neden birden çok değeri ve ne kolon anlamına açıklamıyor

birleşti devletler this olduğunu.

cevap

16

Temel olarak {table: satırlar} anlamına gelir {1: 3, 3: 1}, 3 satır bir sstable (1: 3) ve 3 (3: 1) sstables'den alınan 1 satırdan alınmış demektir. Tüm bu sıkıştırma işleminde tek bir sstable yapmak.

KEYSPACE ve tablo oluşturmak:

kendimi, işte ben bu yardımcı olur bir örnek umut oluyor bunu denedik

cqlsh> create keyspace space1 WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; 

cqlsh> create TABLE space1.tb1 (key text, val1 text, primary KEY (key)); 

cqlsh> INSERT INTO space1.tb1 (key, val1) VALUES ('key1','111'); 
cqlsh> INSERT INTO space1.tb1 (key, val1) VALUES ('key2','222'); 
cqlsh> INSERT INTO space1.tb1 (key, val1) VALUES ('key3','333'); 
cqlsh> INSERT INTO space1.tb1 (key, val1) VALUES ('key4','444'); 
cqlsh> INSERT INTO space1.tb1 (key, val1) VALUES ('key5','555'); 
cqlsh> exit 

Şimdi floş sstable

$ nodetool flush space1 

oluşturmak için Biz tablonun sadece bir sürümünün

$ sudo ls -lR /var/lib/cassandra/data/space1 

/var/lib/cassandra/data/space1: 
total 4 
drwxr-xr-x. 2 cassandra cassandra 4096 Feb 3 12:51 tb1 

/var/lib/cassandra/data/space1/tb1: 
total 32 
-rw-r--r--. 1 cassandra cassandra 43 Feb 3 12:51 space1-tb1-jb-1-CompressionInfo.db 
-rw-r--r--. 1 cassandra cassandra 146 Feb 3 12:51 space1-tb1-jb-1-Data.db 
-rw-r--r--. 1 cassandra cassandra 24 Feb 3 12:51 space1-tb1-jb-1-Filter.db 
-rw-r--r--. 1 cassandra cassandra 90 Feb 3 12:51 space1-tb1-jb-1-Index.db 
-rw-r--r--. 1 cassandra cassandra 4389 Feb 3 12:51 space1-tb1-jb-1-Statistics.db 
-rw-r--r--. 1 cassandra cassandra 80 Feb 3 12:51 space1-tb1-jb-1-Summary.db 
-rw-r--r--. 1 cassandra cassandra 79 Feb 3 12:51 space1-tb1-jb-1-TOC.txt 
'in oluşturulduğunu görün

bizim veri 'compactionhistory notetool' Bu noktada

$ sudo -u cassandra /usr/bin/sstable2json /var/lib/cassandra/data/space1/tb1/space1-tb1-jb-1-Data.db 
[ 
{"key": "6b657935","columns": [["","",1422967847005000], ["val1","555",1422967847005000]]}, 
{"key": "6b657931","columns": [["","",1422967817740000], ["val1","111",1422967817740000]]}, 
{"key": "6b657934","columns": [["","",1422967840622000], ["val1","444",1422967840622000]]}, 
{"key": "6b657933","columns": [["","",1422967832341000], ["val1","333",1422967832341000]]}, 
{"key": "6b657932","columns": [["","",1422967825116000], ["val1","222",1422967825116000]]} 
] 

bkz sstable2json kontrol bu tablo için hiçbir şey gösterir ama

$ nodetool compactionhistory | awk 'NR == 2 || /space1/' 
id          keyspace_name  columnfamily_name   compacted_at    bytes_in  bytes_out  rows_merged 
5725f890-aba4-11e4-9f73-351725b0ac5b  space1    tb1       1422968305305    146   146   {1:5} 

aldığımız (sağ kaydırma) ne olduğunu görmek için yine kompakt yayınlamanızı sağlar Şimdi iki satır silmek ve

cqlsh> delete from space1.tb1 where key='key1'; 
cqlsh> delete from space1.tb1 where key='key2'; 
cqlsh> exit 

$ nodetool flush space1 

$ sudo ls -l /var/lib/cassandra/data/space1/tb1/ 
[sudo] password for datastax: 
total 64 
-rw-r--r--. 1 cassandra cassandra 43 Feb 3 12:58 space1-tb1-jb-2-CompressionInfo.db 
-rw-r--r--. 1 cassandra cassandra 146 Feb 3 12:58 space1-tb1-jb-2-Data.db 
-rw-r--r--. 1 cassandra cassandra 336 Feb 3 12:58 space1-tb1-jb-2-Filter.db 
-rw-r--r--. 1 cassandra cassandra 90 Feb 3 12:58 space1-tb1-jb-2-Index.db 
-rw-r--r--. 1 cassandra cassandra 4393 Feb 3 12:58 space1-tb1-jb-2-Statistics.db 
-rw-r--r--. 1 cassandra cassandra 80 Feb 3 12:58 space1-tb1-jb-2-Summary.db 
-rw-r--r--. 1 cassandra cassandra 79 Feb 3 12:58 space1-tb1-jb-2-TOC.txt 
-rw-r--r--. 1 cassandra cassandra 43 Feb 3 13:02 space1-tb1-jb-3-CompressionInfo.db 
-rw-r--r--. 1 cassandra cassandra 49 Feb 3 13:02 space1-tb1-jb-3-Data.db 
-rw-r--r--. 1 cassandra cassandra 16 Feb 3 13:02 space1-tb1-jb-3-Filter.db 
-rw-r--r--. 1 cassandra cassandra 36 Feb 3 13:02 space1-tb1-jb-3-Index.db 
-rw-r--r--. 1 cassandra cassandra 4413 Feb 3 13:02 space1-tb1-jb-3-Statistics.db 
-rw-r--r--. 1 cassandra cassandra 80 Feb 3 13:02 space1-tb1-jb-3-Summary.db 
-rw-r--r--. 1 cassandra cassandra 79 Feb 3 13:02 space1-tb1-jb-3-TOC.txt 

tabloları içeriğini kontrol sağlar temizlemek sağlar

$ sudo -u cassandra /usr/bin/sstable2json /var/lib/cassandra/data/space1/tb1/space1-tb1-jb-2-Data.db 
[ 
{"key": "6b657935","columns": [["","",1422967847005000], ["val1","555",1422967847005000]]}, 
{"key": "6b657931","columns": [["","",1422967817740000], ["val1","111",1422967817740000]]}, 
{"key": "6b657934","columns": [["","",1422967840622000], ["val1","444",1422967840622000]]}, 
{"key": "6b657933","columns": [["","",1422967832341000], ["val1","333",1422967832341000]]}, 
{"key": "6b657932","columns": [["","",1422967825116000], ["val1","222",1422967825116000]]} 
] 

$ sudo -u cassandra /usr/bin/sstable2json /var/lib/cassandra/data/space1/tb1/space1-tb1-jb-3-Data.db 
[ 
{"key": "6b657931","metadata": {"deletionInfo": {"markedForDeleteAt":1422968551313000,"localDeletionTime":1422968551}},"columns": []}, 
{"key": "6b657932","metadata": {"deletionInfo": {"markedForDeleteAt":1422968553322000,"localDeletionTime":1422968553}},"columns": []} 
] 

Şimdi kompakt sağlar

$ nodetool compact space1 

Sadece bir stabil şimdi

$ sudo ls -l /var/lib/cassandra/data/space1/tb1/ 
total 32 
-rw-r--r--. 1 cassandra cassandra 43 Feb 3 13:05 space1-tb1-jb-4-CompressionInfo.db 
-rw-r--r--. 1 cassandra cassandra 133 Feb 3 13:05 space1-tb1-jb-4-Data.db 
-rw-r--r--. 1 cassandra cassandra 656 Feb 3 13:05 space1-tb1-jb-4-Filter.db 
-rw-r--r--. 1 cassandra cassandra 90 Feb 3 13:05 space1-tb1-jb-4-Index.db 
-rw-r--r--. 1 cassandra cassandra 4429 Feb 3 13:05 space1-tb1-jb-4-Statistics.db 
-rw-r--r--. 1 cassandra cassandra 80 Feb 3 13:05 space1-tb1-jb-4-Summary.db 
-rw-r--r--. 1 cassandra cassandra 79 Feb 3 13:05 space1-tb1-jb-4-TOC.txt 

Şimdi mezar taşları görebilirsiniz yeni ahırı içeriğini kontrol sağlar

beklendiği gibi

$ sudo -u cassandra /usr/bin/sstable2json /var/lib/cassandra/data/space1/tb1/space1-tb1-jb-4-Data.db 
[ 
{"key": "6b657935","columns": [["","",1422967847005000], ["val1","555",1422967847005000]]}, 
{"key": "6b657931","metadata": {"deletionInfo": {"markedForDeleteAt":1422968551313000,"localDeletionTime":1422968551}},"columns": []}, 
{"key": "6b657934","columns": [["","",1422967840622000], ["val1","444",1422967840622000]]}, 
{"key": "6b657933","columns": [["","",1422967832341000], ["val1","333",1422967832341000]]}, 
{"key": "6b657932","metadata": {"deletionInfo": {"markedForDeleteAt":1422968553322000,"localDeletionTime":1422968553}},"columns": []} 
] 

Son olarak sıkıştırma geçmişini kontrol et (sağa kaydır)

$ nodetool compactionhistory | awk 'NR == 2 || /space1/' 
id          keyspace_name  columnfamily_name   compacted_at    bytes_in  bytes_out  rows_merged 
5725f890-aba4-11e4-9f73-351725b0ac5b  space1    tb1       1422968305305    146   146   {1:5} 
46112600-aba5-11e4-9f73-351725b0ac5b  space1    tb1       1422968706144    195   133   {1:3, 2:2} 
+3

Vay, bu harika bir cevap! – Aaron

+1

Daha fazla kabul edilemedi. Teşekkürler! – Ztyx