代码之家  ›  专栏  ›  技术社区  ›  user3133542

为什么我得到的列条目值为空?

  •  0
  • user3133542  · 技术社区  · 8 年前

    我使用CassandraDB来保存度量数据。

    我创建了一个名为的columnfamily 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
    

    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 回复  |  直到 8 年前
        1
  •  1
  •   gsteiner    8 年前

    我相信你指的是每隔一行的值。它们之所以存在,是因为该值实际上存储为该字段的名称。这就是Cassandra存储集群密钥的方式。由于该值位于名称中,因此也没有必要将其包含在“值”字段中。通常,这个视图会分散注意力,因为用户不需要担心。