为什么我要获取空值的列条目?

时间:2016-10-10 15:24:39

标签: database cassandra command-line-interface

我使用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)

现在您可以看到列条目的值为空。 我的问题是:是否有可能摆脱它们?

1 个答案:

答案 0 :(得分:1)

我相信你指的是每一行的值=。它们存在,因为该值实际存储为该字段的名称。这就是Cassandra存储群集密钥的方式。由于该值在名称中,因此将其包含在“值”字段中也没有意义。通常情况下,这种观点会分散注意力,因为这不是用户需要担心的事情。