2016-01-22 49 views
3

我在influxdb中有一些不必要的數據,像一些像「0」這樣的值,那麼我該如何刪除這些特定的數據。我的數據庫名稱是「引導」與我的測量名稱是「response_time」如何從influxdb中刪除特定的一行數據

嘗試這種「從response_time刪除,時間> 2016-01-22T06:32:44Z」

,但它說:「服務器返回錯誤:錯誤解析查詢:找到-01,預期SELECT,DELETE,SHOW,CREATE,DROP,GRANT,REVOKE,ALTER,設置在第1行,字符44「

試過這也:」從bootstrap刪除時間> 01-22T06:32:44Z「

回答

2

InfluxDB的當前版本在刪除時有點痛苦。您可以刪除整個度量值,特定系列或整個數據庫,或者刪除一個大於'x'(保留策略)的系列部分。比這更細的任何東西仍然是一個阿爾法。顯然,它在v 0.7中更加靈活,但該功能已消失。可能不是你所希望的答案,對不起。

在這裏看到:

https://docs.influxdata.com/influxdb/v0.9/query_language/database_management/

(無恥的自我推銷如下)

一組類似的問題被問here。注意:看起來有些答案取決於您使用的InfluxDB版本。

我的答案,這似乎是版本無關(到目前爲止):


因爲InfluxDB是有點痛苦關於刪除,我們使用了一個布爾字段名爲「ForUse」的模式,其

your_measurement,your_tag=foo ForUse=TRUE,value=123.5 1262304000000000000 

可以覆蓋相同的測量,標記鍵,時間與任何領域鍵發送,因此我們通過設置執行「刪除」「:通過線路協議(V0.9)發佈時,看起來是這樣的ForUse「爲false,並讓保留策略保持數據庫大小的控制權。

由於覆蓋無縫發生,因此您也可以追溯添加架構。在降噪。


這樣做,您可以設置您的Grafana查詢以包含「WHERE ForUse = TRUE」。通過這種方式進行過濾,並更新「ForUse」字段,您可以複製「刪除」或「取消刪除」點的功能。

這是一個有點缺憾,但我已經習慣了缺憾 - 每次系列數據庫中,我曾經使用過,似乎有點尷尬與部分刪除,所以它必須有一些關於他們的本質。

+0

如何爲現有數據添加「ForUse」字段? –

+0

有一個「alter table add column ...」命令將會非常好,但我們不需要InfluxDB。相反,您會覆蓋現有記錄。因此,對於SELECT * FROM ...查詢的每一行,您將形成同一時間戳,標籤鍵,標籤值的寫入命令(很可能使用http api),並追加「ForUse」值。有點痛苦,但非常可以。 – Jason

+0

哦!我發現自0.9以來事情已經發生了變化。現在添加點,你只需要複製標籤鍵和時間戳。字段不需要被複制。請參閱https://docs.influxdata.com/influxdb/v0。10/troubleshooting/frequently_encountered_issues /#writing-duplicate-points – Jason

相關問題