簡體   English   中英

如何從 Cassandra 密鑰空間中刪除所有表和 UDT?

[英]How to drop all Tables and UDTs from a Cassandra Keyspace?

有沒有辦法清除 Cassandra 中的鍵空間? 我們不能直接刪除鍵空間,因為我們無權創建或刪除鍵空間。 先感謝您!

PS 我們使用的是 Cassandra 3.7。

您可以執行類似 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM