首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cassandra 3.0中的cassandra-cli 'list‘

cassandra 3.0中的cassandra-cli 'list‘
EN

Stack Overflow用户
提问于 2016-03-11 16:47:44
回答 1查看 1.7K关注 0票数 3

我想查看"rowkey“及其在Cassandra3.0中存储的数据。我知道,被贬低的卡桑德拉-克莱有“名单”命令。然而,在Cassandra3.0中,我找不到替代“list”-命令的方法。有人知道“列表”的新cli命令吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-29 16:44:24

您可以使用@chris建议的sstabledump实用程序。怎么用?创建键空间,其中的表填充一些数据:

代码语言:javascript
复制
cqlsh> CREATE KEYSPACE IF NOT EXISTS minetest WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };

cqlsh> CREATE TABLE object_coordinates (
   ... object_id int PRIMARY KEY,
   ... coordinate text
   ... );

cqlsh> use minetest;

cqlsh:minetest> insert into object_coordinates (object_id, coordinate) values (564682,'59.8505,34.0035');
cqlsh:minetest> insert into object_coordinates (object_id, coordinate) values (1235,'61.7814,40.3316');
cqlsh:minetest> select object_id, coordinate, writetime(coordinate) from object_coordinates;

 object_id | coordinate      | writetime(coordinate)
-----------+-----------------+-----------------------
      1235 | 61.7814,40.3316 |      1480436931275615
    564682 | 59.8505,34.0035 |      1480436927707627

(2 rows)

object_id是主(分区键)密钥,coordinate是集群密钥。

刷新对磁盘的更改:

代码语言:javascript
复制
# nodetool flush

在磁盘上找到sstable并进行分析:

代码语言:javascript
复制
# cd /var/lib/cassandra/data/minetest/object_coordinates-e19d4c40b65011e68563f1a7ec2d3d77

# ls
backups  mc-1-big-CompressionInfo.db  mc-1-big-Data.db  mc-1-big-Digest.crc32  mc-1-big-Filter.db  mc-1-big-Index.db  mc-1-big-Statistics.db  mc-1-big-Summary.db  mc-1-big-TOC.txt

# sstabledump mc-1-big-Data.db
[
  {
    "partition" : {
      "key" : [ "1235" ],
      "position" : 0
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 18,
        "liveness_info" : { "tstamp" : "2016-11-29T16:28:51.275615Z" },
        "cells" : [
          { "name" : "coordinate", "value" : "61.7814,40.3316" }
        ]
      }
    ]
  },
  {
    "partition" : {
      "key" : [ "564682" ],
      "position" : 43
    },
    "rows" : [
      {
        "type" : "row",
        "position" : 61,
        "liveness_info" : { "tstamp" : "2016-11-29T16:28:47.707627Z" },
        "cells" : [
          { "name" : "coordinate", "value" : "59.8505,34.0035" }
        ]
      }
    ]
  }
]

或使用-d标志:

代码语言:javascript
复制
# sstabledump mc-1-big-Data.db -d
[1235]@0 Row[info=[ts=1480436931275615] ]:  | [coordinate=61.7814,40.3316 ts=1480436931275615]
[564682]@43 Row[info=[ts=1480436927707627] ]:  | [coordinate=59.8505,34.0035 ts=1480436927707627

输出表示1235564682并将坐标保存在这些分区中。

链接到doc http://www.datastax.com/dev/blog/debugging-sstables-in-3-0-with-sstabledump

PS。sstabledumpcassandra-tools包以ubuntu提供。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35945636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档