我使用CassandraDB保存度量数据。
我创建了一个名为metrics的专栏家族
CREATE TABLE metrics (
mbean text,
metricstime timestamp,
ftpconnectionstate int,
PRIMARY KEY (mbean, metricstime));cqlsh中生成的“表”如下所示:
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在引擎盖下,cassandra保存了这样的值:
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)现在您可以看到有带有空值的列条目。我的问题是:有没有可能摆脱它们?
发布于 2016-10-11 14:22:29
我相信你指的是value=的每一条线。它们之所以存在,是因为该值实际上存储为该字段的名称。卡桑德拉就是这样存储聚类密钥的。因为值在名称中,所以也没有必要将其包含在" value“字段中。通常,这个视图会分散注意力,因为它不是用户需要担心的事情。
https://stackoverflow.com/questions/39961642
复制相似问题