57

influxdb からデータを削除するにはどうすればよいですか?

ドキュメントは、次のように単純である必要があることを示しています。

delete from foo where time < now() -1h

何らかの理由で、influxdb は私の削除ステートメントを拒否し、「削除クエリには、時間を参照しない where 句を含めることはできません」と言います。

select * from bootstrap where duration > 1000 and time > 14041409940s and time < now()

期間が 1000 秒を超えるこれらの 5 つのエントリを削除したい ここに画像の説明を入力

これは有効な sql ステートメントである必要がありますが、失敗します

ここに画像の説明を入力

これらの削除ステートメントはどれも機能しません

delete from bootstrap where duration > 3000000"

delete from bootstrap where duration > 300000"

delete from bootstrap where time = 1404140994043"

delete from bootstrap where duration > 300000 and time > 1404141054508 "

delete from bootstrap where duration > 300000 and time > 1404141054508s "

delete from bootstrap where time > 1404141054508s and duration > 300000 "

delete from bootstrap where duration > 30000 and time > 1s"

ドキュメント参照

https://docs.influxdata.com/influxdb/v2.0/query-data/influxql/

アップデート

追加のクエリ

delete from bootstrap where time > 1404141416824 and duration > 3000;
delete sequence_number from bootstrap where time > 1s and duration > 1000;

多分これはバグですか?

https://github.com/influxdb/influxdb/issues/975
https://github.com/influxdb/influxdb/issues/84

4

11 に答える 11

52

influxdb 0.9 でこれを実行できるようです。たとえば、これは私にとって成功したクエリです。

DROP SERIES FROM temperature WHERE machine='zagbar'

(@MuratCorluによる寛大なコメントごとに、以前のコメントを回答として再投稿しています...)

于 2015-09-14T05:22:47.007 に答える
29

流入があると、時間でしか削除できません

たとえば、次は無効です。

#Wrong
DELETE FROM foo WHERE time < '2014-06-30' and duration > 1000 #Can't delete if where clause has non time entity

これでデータを削除できました

DELETE FROM foo WHERE time > '2014-06-30' and time < '2014-06-30 15:16:01'

更新: これは influx 8 で機能しました。おそらく influx 9 では機能しません

于 2014-10-09T16:08:54.013 に答える
9

InfluxDB は削除に少し手間がかかるため、「ForUse」と呼ばれるブール値フィールドを持つスキーマを使用します。これは、ライン プロトコル (v0.9) 経由で投稿すると次のようになります。

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

同じ測定値、タグ キー、および時間を、送信したどのフィールド キーでも上書きできるため、"ForUse" を false に設定して "削除" し、保持ポリシーでデータベース サイズを制御します。

上書きはシームレスに行われるため、スキーマをさかのぼって追加することもできます。うるさい。

于 2016-01-14T11:27:53.243 に答える