2016-10-10 6 views
0

Ich verwende CassandraDB zum Speichern von Metrics-Daten.Warum bekomme ich Spalteneinträge mit leeren Werten?

habe ich ein columnfamily mit Namen metrics:

CREATE TABLE metrics (
    mbean text, 
    metricstime timestamp, 
    ftpconnectionstate int, 
    PRIMARY KEY (mbean, metricstime)); 

Der resultierende "Tisch" in cqlsh so aussieht:

mbean  | metricstime    | ftpconnectionstate 
-----------+--------------------------+-------------------- 
FtpOnline | 2016-10-10 14:38:45+0000 |     1 
FtpOnline | 2016-10-10 14:38:50+0000 |     1 
FtpOnline | 2016-10-10 14:38:55+0000 |     1 
FtpOnline | 2016-10-10 14:39:00+0000 |     1 
FtpOnline | 2016-10-10 14:39:05+0000 |     1 
FtpOnline | 2016-10-10 14:39:10+0000 |     1 
FtpOnline | 2016-10-10 14:39:15+0000 |     1 
FtpOnline | 2016-10-10 14:39:20+0000 |     1 

Unter der Haube cassandra speichert den Wert wie folgt aus:

RowKey: FtpOnline 
=> (name=2016-10-10 14\:38\:45+0000:, value=, timestamp=1476110327630000, ttl=604800) 
=> (name=2016-10-10 14\:38\:45+0000:ftpconnectionstate, value=00000001, timestamp=1476110327630000, ttl=604800) 
=> (name=2016-10-10 14\:38\:50+0000:, value=, timestamp=1476110331832000, ttl=604800) 
=> (name=2016-10-10 14\:38\:50+0000:ftpconnectionstate, value=00000001, timestamp=1476110331832000, ttl=604800) 
=> (name=2016-10-10 14\:38\:55+0000:, value=, timestamp=1476110336830000, ttl=604800) 
=> (name=2016-10-10 14\:38\:55+0000:ftpconnectionstate, value=00000001, timestamp=1476110336830000, ttl=604800) 
=> (name=2016-10-10 14\:39\:00+0000:, value=, timestamp=1476110341831000, ttl=604800) 
=> (name=2016-10-10 14\:39\:00+0000:ftpconnectionstate, value=00000001, timestamp=1476110341831000, ttl=604800) 
=> (name=2016-10-10 14\:39\:05+0000:, value=, timestamp=1476110346832000, ttl=604800) 
=> (name=2016-10-10 14\:39\:05+0000:ftpconnectionstate, value=00000001, timestamp=1476110346832000, ttl=604800) 

Jetzt können Sie sehen, dass es Spalteneinträge mit leeren Werten gibt. Meine Frage ist: Gibt es eine Möglichkeit, sie loszuwerden?

Antwort

1

Ich glaube, Sie beziehen sich auf den Wert = auf jeder anderen Zeile. Sie sind da, weil der Wert tatsächlich als Name dieses Feldes gespeichert wird. So speichert Cassandra Clustering Keys. Da der Wert im Namen steht, ist es auch nicht sinnvoll, ihn in das Feld "Wert" aufzunehmen. In der Regel ist diese Ansicht abgelenkt, da sich der Benutzer nicht darum kümmern muss.

Verwandte Themen