2014-02-21 59 views
1

假設我想刪除在特定時間段(從晚上9點到午夜)轉儲到我的cassandra集羣中的數據。怎麼做?在特定時間段內刪除cassandra中的數據

我知道我們需要創建一個帶時間戳的列並檢索它,但是我的模式現在不包含timestamp列。如何刪除額外的列。

回答

1

使用TTL:

http://www.datastax.com/docs/1.0/dml/using_cql#use-cql-ttl

INSERT INTO NerdMovies (movie, director, main_actor, year) 
       VALUES ('Serenity', 'Joss Whedon', 'Nathan Fillion', 2005) 
USING TTL 86400; 

你需要計算的秒數要刪除列,並設置TTL的時間戳,當很多秒後就會被刪除。

+0

我想刪除cassandra中已經存在的數據。我們無意中在特定的時間段內向錯誤的羣集添加了一些信息,現在我們需要刪除這些信息。 – Rock

+1

我不好,你可以用寫時間函數 「select record_id,writetime(title)from records;」 您可以查詢特定的時間戳,獲取其主鍵,並在循環中刪除這些列 – Navid

+0

如何查詢特定的時間戳。我認爲我們不能在where子句中使用writetime。有沒有辦法說時間> 9PM,時間<12AM? – Rock

相關問題