1

Cassandra CLI 在 Cassandra 3.0 中被弃用。想知道是否有可能获得宽行(动态列)的存储引擎表示,而不是关系视图。

例如,在 cassandra-cli 中执行以下命令将为键 'COEXEIGLE' 产生,具有动态列和计数器值:

list table;

RowKey: COEXEIGLE
=> (counter=2014-04-07 18\:45\:00-0700:count, value=5)
=> (counter=2014-04-07 19\:30\:00-0700:count, value=1)
=> (counter=2014-04-07 19\:31\:00-0700:count, value=1)
=> (counter=2014-04-08 19\:31\:00-0700:count, value=2)

1 Row Returned.

虽然,使用 cqlsh,以下 sql 语句,我们将获得数据的传统关系视图:

select * from table;

 serialId    | time                     | count
-------------+--------------------------+-------
   COEXEIGLE | 2014-04-07 18:45:00-0700 |     5
   COEXEIGLE | 2014-04-07 19:30:00-0700 |     1
   COEXEIGLE | 2014-04-07 19:31:00-0700 |     1
   COEXEIGLE | 2014-04-08 19:31:00-0700 |     2

(4 rows)

同样,好奇我们是否仍然可以看到存储引擎表示而不是关系视图。

卡桑德拉版本:

[cqlsh 4.1.1 | Cassandra 2.0.6 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
4

2 回答 2

3

Cassandra-Cli 实际上并没有向您显示数据的引擎表示(没有显示大量信息)。实际查看数据在磁盘上的布局方式的唯一方法是使用 sstable2json 程序。这将显示存储引擎看到的数据在磁盘上的实际表示。

如果您真的需要查看此视图​​,我的建议是刷新表格并使用 sstable2json 将其转换为人类可读的格式。

于 2014-04-08T16:01:46.823 回答
3

Cassandra 3.0 将采用来自 CASSANDRA-8099 ( https://issues.apache.org/jira/browse/CASSANDRA-8099 ) 的修改后的存储引擎,它本质上将存储本身更改为 cql 感知 (cql 行/列,而不是比 sstable 分区/列),因为这是 Cassandra 的大多数现代用户如何看待他们的数据。

于 2015-04-10T17:06:10.570 回答