Я хочу просмотреть «rowkey» с сохраненными данными в cassandra 3.0. Я знаю, что в устаревшей cassandra-cli была команда list. Однако в cassandra 3.0 я не могу найти замену команде «список». Кто-нибудь знает новую cli-команду для списка?
cassandra-cli 'список' в cassandra 3.0
Ответы (1)
Вы можете использовать утилиту sstabledump
, как предложил @chris-lohfink. Как это использовать? Создайте пространство ключей, таблицу в нем заполните некоторыми данными:
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
— ключ кластеризации.
Сбросить изменения на диск:
# nodetool flush
Найдите sstable на диске и проанализируйте его:
# 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
:
# 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
Вывод говорит, что 1235
и 564682
и сохраняет координаты в этих разделах.
Ссылка на документ http://www.datastax.com/dev/blog/debugging-sstables-in-3-0-with-sstabledump
PS. sstabledump
предоставляется пакетом cassandra-tools
в Ubuntu.
person
ipeacocks
schedule
29.11.2016
SELECT * FROM table
в cqlsh. Ячейки больше не размещаются на диске, как в бережливом формате, поэтому CQL SELECT представляет ваши данные. - person Chris Lohfink   schedule 11.03.2016