簡體   English   中英

如何使用Cassandra存儲后端刪除Titan中的圖形?

[英]How to delete graph in Titan with Cassandra storage backend?

我使用Titan 0.4.0 All,在Ubuntu 12.04上以共享VM模式運行Rexster。

我怎樣才能正確刪除使用Cassandra存儲后端的Titan中的圖形?

我嘗試過TitanCleanup.clear(graph) ,但它並沒有刪除所有內容。 指數仍在那里。 我真正的問題是我有一個我不想要的索引(它會崩潰每個查詢),但是我了解Titan的文檔,一旦創建索引就不可能刪除它

您可以使用以下方法清除所有邊/頂點:

g.V.remove()

但是你發現它不會清除以前創建的類型/索引。 最干凈的選擇是刪除Cassandra數據目錄。

如果您通過單元測試執行刪除,您可能會嘗試在測試設置中執行此操作:

this.config = new BaseConfiguration(){{
    addProperty("storage.backend", "berkeleyje")
    addProperty("storage.directory", "/tmp/titan-schema-test")
}}
GraphDatabaseConfiguration graphconfig = new GraphDatabaseConfiguration(config)
graphconfig.getBackend().clearStorage()
g = (StandardTitanGraph) TitanFactory.open(config)

一定要在測試拆解方法中調用g.shutdown()

只是為了更新這個答案。

使用Titan 1.0.0可以使用Java以編程方式完成:

TitanGraph graph = TitanFactory.open(config);
graph.close();
TitanCleanup.clear(graph);

對於Titan的繼續稱為JanusGraph,命令是JanusGraphFactory.clear(graph)但很快將是JanusGraphCleanup.clear(graph)

正如前面回答 DROP ping的一個評論中提到的那樣,使用cqlsh的鍵空間titan應該這樣做:

cqlsh> DROP KEYSPACE titan;

Titan使用的鍵空間名稱是使用storage.cassandra.keyspace配置選項設置的。 您可以將其更改為您想要的任何名稱,並且可以被Cassandra接受。

storage.cassandra.keyspace=hello_titan

當Cassandra起床時,它打印出鍵空間的名稱,如下所示:

INFO 19:50:32創建新的Keyspace:KSMetaData {name = hello_titan,strategyClass = SimpleStrategy,strategyOptions = {replication_factor = 1},cfMetaData = {},durableWrites = true,userTypes=org.apache.cassandra.config.UTMetaData@767d6a9f }

0.9.0-M1中 ,名稱出現在Titan的登錄DEBUG中(設置log4j.rootLogger=DEBUG, stdoutconf/log4j-server.properties ):

[DEBUG] AstyanaxStoreManager - Found keyspace titan

或者以下情況:

[DEBUG] AstyanaxStoreManager - Creating keyspace titan...
[DEBUG] AstyanaxStoreManager - Created keyspace titan

暫無
暫無

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

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