Я пытаюсь сбросить схему пространства ключей Cassandra, которое можно использовать для импорта в другое пространство ключей, например, для резервного копирования пространства ключей cassandra и восстановления его в другое пространство ключей с той же схемой.Cassandra CQL clone keyspace schema
Я использую cqlsh:
[cqlsh 2.3.0 | Cassandra 1.2.2 | CQL spec 3.0.1 | Thrift protocol 19.35.0]
Я сначала создать схему с КЛАСТЕРИЗАЦИЕЙ ПОСЛЕДОВАТЕЛЬНОСТЬЮ отметки времени спусков:
DROP KEYSPACE mailbox;
CREATE KEYSPACE mailbox
WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor': '1' };
USE mailbox;
CREATE TABLE messages (
id uuid,
user_id uuid,
contents varchar,
created timestamp,
PRIMARY KEY (id, created)
)
WITH CLUSTERING ORDER BY (created DESC);
Затем я использую функцию CQL, чтобы сбросить то, что я думал, что будет действительный CQL3:
cqlsh:mailbox> describe keyspace mailbox;
CREATE KEYSPACE mailbox WITH replication = {
'class': 'SimpleStrategy',
'replication_factor': '1'
};
USE mailbox;
CREATE TABLE messages (
id uuid,
created 'org.apache.cassandra.db.marshal.ReversedType'<timestamp>,
contents text,
user_id uuid,
PRIMARY KEY (id, created)
) WITH
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.000000 AND
gc_grace_seconds=864000 AND
read_repair_chance=0.100000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'SnappyCompressor'};
Когда я пытаюсь импортировать это обратно в cqlsh, я получаю follo ошибка крыла:
Bad Request: line 3:56 mismatched input '<' expecting ')'
text could not be lexed at line 16, char 14
Я считаю, что это не в состоянии разобрать созданное определение столбца (который изначально был создан с КЛАСТЕРИЗАЦИЕЙ ORDER BY):
created 'org.apache.cassandra.db.marshal.ReversedType'<timestamp>
Есть ли какой-либо другой способ для сброса схемы данное пространство ключей?