【发布时间】:2018-05-14 01:33:00
【问题描述】:
有没有办法清除 Cassandra 中的键空间?我们不能直接删除键空间,因为我们无权创建或删除键空间。 提前谢谢!
附:我们正在使用 Cassandra 3.7。
【问题讨论】:
标签: cassandra
有没有办法清除 Cassandra 中的键空间?我们不能直接删除键空间,因为我们无权创建或删除键空间。 提前谢谢!
附:我们正在使用 Cassandra 3.7。
【问题讨论】:
标签: cassandra
您可以执行类似 cqlsh -e 'use ;describe tables' 之类的操作。这将返回一个表列表,您可以使用这些表创建查询以删除这些表。与udt类似。
【讨论】:
通过cqlsh 实现它非常简单,而且比尝试使用自定义代码来实现要好 - 程序架构更改存在细微差别,最好避免:
删除所有内容的完整脚本在这里:
cqlsh -e 'describe keyspace test;' > ks.cql
rm -f drop-all.cql
grep -e '^CREATE MATERIALIZED VIEW' ks.cql|sed -e 's|^CREATE MATERIALIZED VIEW \(.*\) ($|DROP MATERIALIZED VIEW \1;|' >> drop-all.cql
grep -e '^CREATE INDEX' ks.cql|sed -e 's|^CREATE INDEX \(.*\) ($|DROP INDEX \1;|' >> drop-all.cql
grep -e '^CREATE TABLE' ks.cql|sed -e 's|^CREATE TABLE \(.*\) ($|DROP TABLE \1;|' >> drop-all.cql
grep -e '^CREATE TYPE' ks.cql|sed -e 's|^CREATE TYPE \(.*\) ($|DROP TYPE \1;|' >> drop-all.cql
cqlsh -f drop-all.cql
【讨论】: