【问题标题】:get only row value as integer in cassandra get query?在 cassandra 获取查询中仅获取行值作为整数?
【发布时间】:2013-03-03 22:02:16
【问题描述】:

我对 cassandra 很陌生,有什么命令可以只从 cassandra 的列族中获取值吗?

如果我使用以下命令:

[default@CustomKeySpace] get user['peter'];
=> (column=friday, value=10, timestamp=1362290522592000)

我明白了:

Returned 1 results.
Elapsed time: 8.4 msec(s).

在上面的结果中我可以只抓取价值部分吗? 如果我给出类似get user['peter'][xxx] 的命令,我应该得到输出值 10。

提前致谢。

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    在 Cassandra 中无法做到这一点(无论是 cli 还是 cqlsh),因为 thrift 返回的存储单位始终是列、值、时间戳。

    【讨论】:

      【解决方案2】:

      你的命令

      get user['peter'];
      

      正在读取整行 peter,其中可能包含许多列。在你的情况下,它只有一个,星期五。要检索它,您可以使用

      get user['peter']['friday'];
      

      假设你的列比较器是字符串类型,否则你可以使用

      get user['peter'][ascii('friday')];
      

      但是,这仍然会打印时间戳,因为每列都有一个时间戳。当您编写代码时,您将返回一个列对象,您可以从中提取值。

      【讨论】:

        猜你喜欢
        • 2013-05-22
        • 2015-09-24
        • 2017-02-04
        • 2016-06-24
        • 1970-01-01
        • 2019-07-05
        • 2019-04-05
        • 1970-01-01
        • 2016-03-14
        相关资源
        最近更新 更多